<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>学而不思 | Kylin</title><meta name="keywords" content="offer"><meta name="author" content="Kylin"><meta name="copyright" content="Kylin"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="有东西被加密了, 请输入密码查看.">
<meta property="og:type" content="article">
<meta property="og:title" content="学而不思">
<meta property="og:url" content="https://www.codekylin.cn/24679.html">
<meta property="og:site_name" content="Kylin">
<meta property="og:description" content="有东西被加密了, 请输入密码查看.">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://qiniu.codekylin.cn/github/img/img/wallhaven-4do8mo.jpg">
<meta property="article:published_time" content="2020-10-14T09:02:01.000Z">
<meta property="article:modified_time" content="2022-07-12T11:46:57.208Z">
<meta property="article:author" content="Kylin">
<meta property="article:tag" content="offer">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://qiniu.codekylin.cn/github/img/img/wallhaven-4do8mo.jpg"><link rel="shortcut icon" href="https://qiniu.codekylin.cn/img/20200807181548.png"><link rel="canonical" href="https://www.codekylin.cn/24679"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//www.google-analytics.com" crossorigin=""/><link rel="preconnect" href="//hm.baidu.com"/><link rel="preconnect" href="//fonts.googleapis.com" crossorigin=""/><meta name="google-site-verification" content="gzeyWstt6NoTZKh7YFYNLNziL8HIZ8YH2Ug7xTDX5-Y"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.css" media="print" onload="this.media='all'"><script>var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?f76c34daefe747deee7c7be3ead2ba80";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script><script async="async" src="https://www.googletagmanager.com/gtag/js?id=UA-159334016-1"></script><script>window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-159334016-1');
</script><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Titillium+Web" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = { 
  root: '/',
  algolia: undefined,
  localSearch: {"path":"search.xml","languages":{"hits_empty":"找不到您查询的内容：${query}"}},
  translate: {"defaultEncoding":2,"translateDelay":0,"msgToTraditionalChinese":"繁","msgToSimplifiedChinese":"简"},
  noticeOutdate: {"limitDay":90,"position":"top","messagePrev":"自上次更新以来已经","messageNext":"天，文章的内容可能已过时或存在差异。"},
  highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
  copy: {
    success: '复制成功',
    error: '复制错误',
    noSupport: '浏览器不支持'
  },
  relativeDate: {
    homepage: false,
    post: false
  },
  runtime: '天',
  date_suffix: {
    just: '刚刚',
    min: '分钟前',
    hour: '小时前',
    day: '天前',
    month: '个月前'
  },
  copyright: {"limitCount":50000,"languages":{"author":"作者: Kylin","link":"链接: ","source":"来源: Kylin","info":"著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。"}},
  lightbox: 'fancybox',
  Snackbar: {"chs_to_cht":"你已切换为繁体","cht_to_chs":"你已切换为简体","day_to_night":"你已切换为深色模式","night_to_day":"你已切换为浅色模式","bgLight":"#FF0000","bgDark":"#2d3035","position":"bottom-left"},
  source: {
    jQuery: 'https://cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js',
    justifiedGallery: {
      js: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/js/jquery.justifiedGallery.min.js',
      css: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/css/justifiedGallery.min.css'
    },
    fancybox: {
      js: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.js',
      css: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.css'
    }
  },
  isPhotoFigcaption: false,
  islazyload: true,
  isanchor: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = { 
  isPost: true,
  isHome: false,
  isHighlightShrink: false,
  isToc: true,
  postUpdate: '2022-07-12 19:46:57'
}</script><noscript><style type="text/css">
  #nav {
    opacity: 1
  }
  .justified-gallery img {
    opacity: 1
  }

  #recent-posts time,
  #post-meta time {
    display: inline !important
  }
</style></noscript><script>(win=>{
    win.saveToLocal = {
      set: function setWithExpiry(key, value, ttl) {
        if (ttl === 0) return
        const now = new Date()
        const expiryDay = ttl * 86400000
        const item = {
          value: value,
          expiry: now.getTime() + expiryDay,
        }
        localStorage.setItem(key, JSON.stringify(item))
      },

      get: function getWithExpiry(key) {
        const itemStr = localStorage.getItem(key)

        if (!itemStr) {
          return undefined
        }
        const item = JSON.parse(itemStr)
        const now = new Date()

        if (now.getTime() > item.expiry) {
          localStorage.removeItem(key)
          return undefined
        }
        return item.value
      }
    }
  
    win.getScript = url => new Promise((resolve, reject) => {
      const script = document.createElement('script')
      script.src = url
      script.async = true
      script.onerror = reject
      script.onload = script.onreadystatechange = function() {
        const loadState = this.readyState
        if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
        script.onload = script.onreadystatechange = null
        resolve()
      }
      document.head.appendChild(script)
    })
  
      win.activateDarkMode = function () {
        document.documentElement.setAttribute('data-theme', 'dark')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
        }
      }
      win.activateLightMode = function () {
        document.documentElement.setAttribute('data-theme', 'light')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
        }
      }
      const t = saveToLocal.get('theme')
    
          const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches
          const isLightMode = window.matchMedia('(prefers-color-scheme: light)').matches
          const isNotSpecified = window.matchMedia('(prefers-color-scheme: no-preference)').matches
          const hasNoSupport = !isDarkMode && !isLightMode && !isNotSpecified

          if (t === undefined) {
            if (isLightMode) activateLightMode()
            else if (isDarkMode) activateDarkMode()
            else if (isNotSpecified || hasNoSupport) {
              const now = new Date()
              const hour = now.getHours()
              const isNight = hour <= 6 || hour >= 18
              isNight ? activateDarkMode() : activateLightMode()
            }
            window.matchMedia('(prefers-color-scheme: dark)').addListener(function (e) {
              if (saveToLocal.get('theme') === undefined) {
                e.matches ? activateDarkMode() : activateLightMode()
              }
            })
          } else if (t === 'light') activateLightMode()
          else activateDarkMode()
        
      const asideStatus = saveToLocal.get('aside-status')
      if (asideStatus !== undefined) {
        if (asideStatus === 'hide') {
          document.documentElement.classList.add('hide-aside')
        } else {
          document.documentElement.classList.remove('hide-aside')
        }
      }
    
    const fontSizeVal = saveToLocal.get('global-font-size')
    if (fontSizeVal !== undefined) {
      document.documentElement.style.setProperty('--global-font-size', fontSizeVal + 'px')
    }
    })(window)</script><link rel="stylesheet" href="https://qiniu.codekylin.cn/github/img/img/custom.css"><link rel="stylesheet" href="//at.alicdn.com/t/font_1993646_z05rabxf05h.css"><link rel="stylesheet" href="https://qiniu.codekylin.cn/github/img/img/icon.css"><meta name="generator" content="Hexo 5.4.0"><link rel="alternate" href="/atom.xml" title="Kylin" type="application/atom+xml">
</head><body><div id="web_bg"></div><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="author-avatar"><img class="avatar-img" data-lazy-src="https://qiniu.codekylin.cn/img/20200807181526.jpg" onerror="onerror=null;src='https://qiniu.codekylin.cn/github/img/friend_404.gif'" alt="avatar"/></div><div class="site-data"><div class="data-item is-center"><div class="data-item-link"><a href="/archives/"><div class="headline">文章</div><div class="length-num">362</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/tags/"><div class="headline">标签</div><div class="length-num">427</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/categories/"><div class="headline">分类</div><div class="length-num">101</div></a></div></div></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fa fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fa fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fa fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fa fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fa fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fa fa-heart"></i><span> 关于</span></a></div></div></div></div><div class="post" id="body-wrap"><header class="post-bg" id="page-header" style="background-image: url('https://qiniu.codekylin.cn/github/img/img/wallhaven-4do8mo.jpg')"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">Kylin</a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search"><i class="fas fa-search fa-fw"></i><span> 搜索</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fa fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fa fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fa fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fa fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fa fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fa fa-heart"></i><span> 关于</span></a></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="post-info"><h1 class="post-title">学而不思</h1><div id="post-meta"><div class="meta-firstline"><span class="post-meta-date"><i class="far fa-calendar-alt fa-fw post-meta-icon"></i><span class="post-meta-label">发表于</span><time class="post-meta-date-created" datetime="2020-10-14T09:02:01.000Z" title="发表于 2020-10-14 17:02:01">2020-10-14</time><span class="post-meta-separator">|</span><i class="fas fa-history fa-fw post-meta-icon"></i><span class="post-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2022-07-12T11:46:57.208Z" title="更新于 2022-07-12 19:46:57">2022-07-12</time></span></div><div class="meta-secondline"><span class="post-meta-separator">|</span><span class="post-meta-wordcount"><i class="far fa-file-word fa-fw post-meta-icon"></i><span class="post-meta-label">字数总计:</span><span class="word-count">9</span><span class="post-meta-separator">|</span><i class="far fa-clock fa-fw post-meta-icon"></i><span class="post-meta-label">阅读时长:</span><span>1分钟</span></span></div></div></div></header><main class="layout" id="content-inner"><div id="post"><article class="post-content" id="article-container"><div id="hexo-blog-encrypt" data-wpm="抱歉, 这个密码看着不太对, 请再试试." data-whm="抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容."><div class="hbe-input-container"><input type="password" id="hbePass" placeholder="您好, 这里需要密码." /><label>您好, 这里需要密码.</label><div class="bottom-line"></div></div><script id="hbeData" type="hbeData" data-hmacdigest="28fa221967e384fc4829efab795167dfab4f515dc214ab27868963772463792e">56a46fc528b8cad91272e5ff69568c80918f7d76a001de95d9686254130768afc4089622dd053ea25da28b15b7ce5da4f60d4587997453912bbdd69f2466d391e23c60c76191701845922f37baf0c3d30796f8183fd4eb0da4d19645d0af5b23a986956a8072e071f32646cf7edf81e460dd8ae6202ebb49e812bba3e0ed369dc6a2a46b654145ab13e8c17253d627271c21c574d088a85d2ceb8ebc0a092e21fb4a79e0f60216174117d5d3791c608df796ce1688ef72a7242a2a5b004dd75183668eda6391d2fe901a009b4e60eca9cf19b24561979b8a62988becd09dee36f2735be658ad8e3152ed9d362f23550662c7e6e0e537b2c6370b4496ae78108eb1994d23d5e2d97e07a12ee0b6ec98bee6d5ce9f4eee0171115330997a0e4ad0633a50498e81062b7cc76a788d25001249d91b01028286492e5c066967e9ec53284cfe22c6d53538c9d8ba73ecd9feee2e258a9b5f606079bf7905ad5407a8dcac00975629dba6195e259ea4ffb7c02420b03ad0f962491429c06e796561ef4baea89ea1e328d4836f93577a64b20d0b70606e648a5d15188bebcf91da51fb5725e085ce0527f4d49fd7348ddaa4cf8ce22860502d0815658c76351139e6d53fc176ba4167a28caaca3885315e44469bf18bddafff6408a9924be201380592e8ff106a128eee2e7659506bfa31db8ba840c7c71b304f87623840f8fc266d87a39771c4a542b752ee76591bcf6909fdae40163119f58573b4d4da42647c03c2539ce51a1775a4bcddccf49d65e674ea9fe3810e41072d3a49dd9b88c69dbc5a14a2dfe527d343f64edd728a1048c4bf3df7015051c82a44ec2ac3bdd5be24208f71ba41c548da2189a8436644c39a0e4dbb0675d813721d4c53cc920054885119ceadd87c624b478b00ebe9de16a134b689e248ee2dbaaeba77691a63146615ad617361d0137690b48415fd42effb67aec6fbc032d45f20084c03980558b152310d6bc41bb04e129ddc2c323b1f6c92d0638d0a4244fd537b870db209588855ef9be61d50a9be4f1c9ca078e3dab66f15b8237947658bf74d42f3948747517833fb631bf5df8c45ec2005270ffe99f1efd4ff269771f55db416f068cdb5af3fba74ab7f798dbd4364eb465bb91143d6522c5a3515ec1e671714446e37327543467d339543ea3fb9e9e050b8e53d0f49650a5b2a8e8d655e172ca12db2d4748ace1c65787d88d22803621c440397f9161337dd45f81cbe6edcf1e851ac63b6a226eea25db20a0ae3efc78a1f1139314e5670407f8385d3dfdbf7cedff87f2503c29c4eff518e99123f385bca3b6d2b782aa02e7a7429104a35f77284a97dbaede072c7c95009c0c58cff43c3ba6e335e137d33403fc6a40212ab3e1538143acb20e5e7eecd2597f6a18f13263975a8e153947adac91e191b3f294788e18026e0a7eab93e7e76179554d22f9de4ae5cd497d3fa0c9a46ee672659f783b0c8db769f780ccf8c2880542a247df9f9912a672622a5598ac32a080df2d4353a4ec874e9c5b5456958370547eca1014a135306170a8db08cbc53c2e64f06c6fb1b5b538b9d0c30ef8f743728fae07227f793892f1a4f0e2bcfacc83b2a6a5c9dd3ecf91cfa25ce0b2d65e2751c6b98a2ee56bd9eb479db24f977cab76cb20bc62ccaeabd9069e7713f68312af28d073648a6fdf51a17e5351517f595e36726fac3b88158bd5eb9003e7cab16399a6616cfde5b317a048f91c2b6aa8c5860bead785447f4796e7ef89c3234b964758b158c62e2919c5c30a9a862e346f7b5912518760d19bf1cfe7252eacbacfe08392ff03ad7cb614ef5246d3ad4099dd72e7946c74fc5f9856383ffc5d58dc0a21a6470642dd631fde249f08ff31f4ebce4e4ce3a69cd71b49e55d59fdc531c4025f4e7e8aa449474b98db2b44321e4493fe9315d31f0d96efeda7bac9cfcf1b0d551c2c72952c4fcb78655fafa5a63021d2c39439c0f9bf89a3df5882e5db2480e7b54968aef720cb50f25d023c9212f201a3b6a0a4b65653c65cca6a095e268b8ac1ec7b9dcb60bca58476173a87684e910df74f4574ab8ed63fd769132810845917fde22f2d0725b7a14b8c704d48bcb61ba07149360afa1d413271c109e633eaa800a7cb942ffd4faab07aff2062fc8f0ce81276bfaf96388fa1fd3ba39123b3b8f3cc254b2de8e7c51344b7bb669acf96dacecbd4218ca7e070cc06ce75348628b6edcf795f40fc87575778a6e709547ee566bacaa5ce047262bc17ff46cbd6d79e7ae771bef31dba8650811d1928a129172a1b9f465a38c7f91fad6fedc3506749d6d8a9a12194fa1a35437914e191557585b92388c382bb86bf6cb2739374f76ffe782d233a433ce26249323840a2be184cb0cf0cae6178d2e72eb3c174674bc09e0171db6c8499efef970c36e5d440dc2c2d1fb30b56454dd8ae1f8bf2d1dc1c5518b6040beab92b81bcd4bc44e20350ae56c3a76227f198f52ef186f1dad4b42ed23d3d993845d9722deb25fb161cd6d284b2b58b588f17670e83174d9f572d02cf57ad7c76b283f5f720222fba2220c49ac659edb372c4f5e4e6db09d5971c60edfb4c75b1000f961d8bdf6edf6679d8973f9043bd4091d08042eecf8e34bc47b903df85a9b8b5157be3d8f975f700088419e3f313f484ec78f39158d518b414977eaac03659e6033eb440856cd8eb0dc896707d6125a7727a94fca34b7dd2d460d9810e6bcd4e19a95352667c77f5b916fdd68e69ea50a7bd9f7ad627208511fc94e2b531a343e6dd3cd07863e592217c9cc263e08b828c65dedd6c16ccce0348de01dc28a1ac3c6685bef04233a5662ed137aafc2268a903f10a182be4846ddbbaaf50fbd5923644143affbed57b7213585241e594b74da41a52e2337cf795e48874db058cc50c18194506bd69b5a9a3e1a07efefd4a252f6b19dd74e83e1b8913f2cb83964aa9e49f86610d0cf1ff50a2eca0bc484e01add7d447cedaadc2c7463eb37c0a73f22f907bd998a2efaa384dc59947eb1861048610a2b223947aed52e3d66354d496889a0955c0b658a57c398532cc015d9661a32f8b1db14a86b029d39ada5f702d109eaa46b909607950a1f13aa2608129c08a0958299a28e0e0ca2b73bb19eaeb2d5c4003e137008d20fe680aaca2669898a8b6892defdfc7edffc49fcdaf250020a811d6471e64846d27f662b8b1d0491d2d4725bf15d1e4187bbcc6af509b2a84c6bcaf1009e1b563e2615e0a789a83d7a2e5662145e68b3132b186c3da1e6a4e4a9bb18bb6c1879337ae3069909af4d33e0f6975b3964cd19f6f82779bb98a2837e386c701a8078bdeeced1f238b45cb6566c02d9ea2b04f79f185e8966b7eb74d805e6041df3c092e42999df0ed0402950220571ca89480f2d6d1497f10800a7d37fdf84b49aed7e00e1644c6d8ab3e9bb930067a8a760a04b6f03f434a5b8ce23276b1b109a6a6118c5391bcbf55d97def627798e9bf0f7f882222cc31bb1667dca6b70b4c2d38681a090b2ca569ef12024ffc3cd9e3d8da4bd6a9968480cbc54c8d58fc38da20da898a94bf1f372ab07e7d4c2f75d5b831018fedba809276ec139a5921ad26c9e4933ccc8986de22697f1ffbc8b33d7ae4b63b6fc568201ebb19792cf75f0b936ba28900f08176f41e48ff0dc0a9cfdbd60671e67d6a60797d57e898931ea6fd98be80895aa2a187e49e462b11900c956d1ea8f33152fefcfc45115efc1c0a9206868478c36ed280f0795e27eed5b12d1d4471cc87efdfc87583f00e55b6a404350801410bd6ea4dc0c69b01000e1c3846ba242f5c9ad6581ea152a58f952fe4478d11702220b95f2670ed6cd420bb856434bc1544c9eaa52935ee4d44ddc43396719a9063aa7d142cdf96c7658cb6808d9af2d3e813265b113fd3a304cebd341e6e5ccbe9b419e07cc1c098ab0763198a8d6fb5b5fcdcffe7d3190e51a65aff5a20494d88fc2be353ec297ce782530bc2d29fab31928458bda706b59b8b6bf0e9f2e94d875e27bff699ce1e08bc05c5701b1604540a7ef9d3d12dcae5595d94c41fb936726b39eee8f53f76e97ba157a29bcfa8195247c91cf4fbd503b59f837717eed2686cc472aad235d254178665d7c374745e697cec469569701c942eb2a92d15472548fad40b0989718c604bef56d2dd8a21e310393f4786408c62f115b1242b1fc187eeb0e49d79ff1cc4722b8ffb9e9c6497d4f532ce2b1b939a5bf5d11dd1bd7fcf79256d77b0737201c9269e48fb4b4e6ed40384a78990352f6fc7c9c77546bd674a3ed3e47cc7956de39097b6314c5d68a26f5fae03281d653534ef146f62ae333fe082f1929525cd28c5ad3e2ffd7639b1d2d6e4338e1d97334f33adfebf9a4347439e9e4539fbe019c7ee4dd33b0f7dfee6fd2b7f3fca37ac00898c76754cb147f37711ab5381ac530c9f271a01bbb6f3785489164a7e05335fb81ac60aee496901c26da5a55c4c935ddedd44ec9588a90db4376fd001c98eafed7a2817bcd2054c9a26fff2d324bed5fe8d3327f5c5549de010497bbf4626daabadbcd689f3889c702a2b89229ef86d50a6022a822e0b2b888122fb5c29919f993a3c8af778c06feafcd6f9df5017c5f6e9702e3bae3c0f749577943d4c991accf9a709909a0235a6fcf3f3e071a4f08c8b8d026372680972ad4c817d8e89c6b9e50bd187347a1a95ed1a8ad6565e3f5c5dc7f0ec708fecfa56b5339a3f84c9a2cd35c1f5304f568144b911367f38e4f0145bd9f23ec5d0c2df78afefa767ec90cf82e78ec5db7eeca60f151d1792153742a6c0dd4ce2a0dd24c45c06a9999a9dce776a1323ac49ebc9c69f7de2169a3ba711f8459a326c820ee762ddf744a10774071a1ff1542d7f5522080f689b718ee89dec3f26972c40ac21b7872d5d28954b81b77c6dc6dc5dd30302812789eae4d01f579d45fb20a956fa20219021d545fff0a5abd92751371975e484a92bd249e18db9f65404591d2838218444537e7f3d703f77e0f8775c3beb7380bc94762c5c8d5419f02c4a555e161a81a55949c43527b9e2b81d47c648010b6d9ead3c095dcb300caf5169f2568b6eabdec23ad3ed91c0978e8c57c349662603d7690209126a12163c9e1f74305b1f337e888cf0d9ec6aadd72e87f0ca91efe44b1d43af0cfd49af70b1c85fa8fa4b5c820e3d9f123f7e70f2466c04159b0b9f6e42404a9b59f9f4c6049b3c6001e5b280714b07cfd1a204e7fa488d05b53248dbbf1be001612bfa47d746ba32f5523e3058c4cfe3b63e4b9502edd3a7a624c1acd202377a9f0782de443f3a3a43a8de4094949de66365b78aa4c85b65f62e86461084e8ed920b9d77c2e93b512d5d534e8afa0e2906d471b798d5c0f8efc3a78b5331572c2b8b2a249fbe3f9a180a105694532d703e717698336ad10ead77a7aaba446163f4355e94fe4380a61626b960596a07e199d2568bb2810e05b749126912b0804c8bca2145bdafd0010a13006cadd1a351bed1c0d3f584ca33b063ae63abedcd4e1e6bb345415cc0792e306154535f995385f4663c30f8dd184789e2043532bb86851a99899ca25cd56b6411a0ae9461613401ea1db0198bc9d0e6c901116aec7aeb7347dcd7f38200b9aa861d7639683a5f47fe88e29887813fb722358b10b7801e8e775f600cc45925e2f21feb90709ee98c945333feda8db3248e6530a62514726ef1462d89d04bd4f871be0047a7c2ee71f85c22ab3faa6d3db2551baac572f56b6e4dbcdb4f8cd3a3f068fa26087869bd7011cd0c18de5873c04cbc81083467c01b8acad3d31b245d69d3df45a890f466b43f0b70d8c705921de3db22967f9e04b0c209ad8d8540daa163e9ef11eb4d37aa178bac1f22d00f4f04d195e50f88fcb4dc30514f5d85d317a45a0d910fb9b23f39af1aff74d1e3779d6af5c785db90ab57f329866fa4f219b18c7f2bfb73a96ccfef40352287cfa1623bee11bb22404716f8109fe1c671d861ac5a6e0a4c956285fa03b9118c0e685e73a4dc65fafad3c2b93d51216a2e955f8fea0fcf38b4796d576ec5536f2eed3c1afde1669f46acad9e84495056c268802e2df81aa2efe47c600e958d33a15e8a9ed44496b9c39eda5210718defaf031ebd684ad0f10697055de097c0f48ae448cad822fea46d93d50227f80ad7de92387f88b3df2756115f6ac849d44ea1a72ee55b93192a264754469427cd96a59ec0463bfe2f5f114f1dac7ef2350e97c4ba84dc99dff0f913d56ff73b4b5d09bb5947e09ccfdbd9aeaf20df8d0af1ff25ff1ed9abce11a9e57f356b76804d8d3a6038e330837328a0cc81881ba9755e1f77d7fc37f8a8a9cf652a70f724b4d47b289a7d4354320a9115086dc9e3b02599dd44571fe667de93767800488d4e3d9aa61e098f36c234319505dcaf9eaa2ac12eb2b34a0559932d6cd6ede4db3f2b70a11aa58b950e8209597313a8f8d13f3837667f2179b921c455986a6ce643b32d297d5ac1b7ccb75dc10fe51e3d6675c69fc2981f0ee2d71fd7027e280eb551af092e99c6ea5b47eb06771bcafacaeb976734657a0ddc0890431e667d918d3a8d92bd0abd34c2f00db357b63a1d7611a4ea17ec284d71819c4df1a088bec8fd38c59ac547915458a75c3fe72a3f776e467f85f0df84e92bb93b021d76c7e1b72502597f9b99e540feed1bad2bb8460380070fb60b4b20d43049da6cbac8d39f2902a0c74d77130a6c58223359aefff8611cd72c35ae8ddc54ce025157fad8b151c2c9e644983e58bd6e014d767bf9a7aa730b82cc416dfb3684f2f5a4af768ffa10e820e4b6d80c59a3fe37aa4ebf09a13478a446198fd5a013030ad82208deb5889b46e1f378593544b26e58aec919c724297cc6234c109e755600ac582daa07d67e05770f0734c05ea412020c7c25781891ba87ee7b2adca820c7971cc1aabd7612911cfb9bd4fd34209fe07e6cc87b4d51d2c1e5647778a876ebc4b62e03897ac81b5fc4089d5628c16e4144a75f462b4e5822cf0c1682680d9c343548477d7205e8acd699907503af651a74ef61e8768f1c88e16d2ce81e6ee70b093072262c55b9f25959c26e44255cdf1b1bc1485d1558b306f9c672bce35b8e0e91152f5638f939680e0a12ec576770d70f7ad538c9a79ad72b1d47a4bbdcd6bf404f0e4b70bc4e7f818f8ccc05be5b3da864957aa508efff77e07c3f1ed9acb72c0fc63017a7cdda48b90f9457a7e13cb30f5675fe2a261fc57d94cf1a78ce4b82dad270b88f1273cc662ae8f00d7b5aaff55451dd3d0a15ed0d1ac59d73bff94e2a66d8c986bef473034e654c97eae999800d5e4ce441cf6bf366b99e0046a54fb1872be03aab430ddad2a837a2279a2d3a0b59355291fdac26868498eb020536719fd14eb3fac5a6bf91fb0b4cef8608c5308a8aaa4d0c0500eda081dd638f8bc071a946159670a0fd08a74a28c58fa0a08b59d57fce4662adf4d40f8760ab0445fcde953e84b6f98acfdd639973e00da92c356bc6b6c0aaae7821615f309ba61332290cc9cfabdd438e7084c7111f1f26521e249314b92ddfd29b2ec882937f64d4ac057308214d4c61ea77cf687fe3819ca9d4546f3a2fa0db5a12041f582caaf5e399b93359761f9bc0df305bc67b51c479751afd345cf4355a94ddd45094fcf91a3297a03284fb1a76f088987dd9121ffe2aaecd084601b30aca76f704dd804ab246f5d9967350dc5b69f8a053e731500b425a4648570a57d0e0d81a05a668e359fcfbce3b21190f210832485d79a557ffa5b07c3ae52fce07cfece875ce474dafe817f69b05cf3e09463b118d2f748ddfbca495be968b4d0b54349420fa48f64286a57fe761280c623177d3802e58e952029e012a8eef243f0d89cba96a678c7ab19db7be9eec2760574a33253d17c5157a683d8a0d1cf403c2ddac62fac8be3e4ba32c049244ce4517299ad52fd474a0eaa6b6186f3b0d1a9fb95393fd33701ba849299669eb2bc8397eba22ba0f769384b12f9c79933fcc99162860220f21160eb4945997da9d12161c70bcb95b570a7a900743ebcd109ec08a0d4f565be0fdda3ed948da05d7eea29c7e147de8bdc4119b6b4df9ef5264e6dff64f896cf93edebcc905c51e9d0215ba716f1992184a3378cf04386562030d6d8dd300e9b95eb8a9b6b614a7c30c49ee452c97300c054ed123a550351c05e181c4289560aed598aadef7767e645bf61f8da8a4002392c838014599301e60a9692b125005d6a9ee863f0d249c0e84b697930c5957fd6499d77d043a44b54a3037e7266b035b0b3de6857d940ebb438da94ba5b3e54f0a5769a328af180e2ea8ab7d7e4feed06690ae58cb91f58703eeb63283f7d9c8b3df39083a1f481d3be7d35e25b164029024bac7a6bd24ac0df918aa4d48b2eb805233da0315e69c17a1d483ea183459350379a2becb7680754734d3af048874bf458b01799c2de7bcfa82fe9ba37d384e5331fb3f160354a8ac1033437b823cf83006aeccc6de8a6605156a3851c0db446daa3809ebdc326afb91fa25315eb9f2704961afc798ba3be7413873df248be189811f17be87b8a68a51224e88f91a35b956d3a067dd42c5059ab7909880521c334e344be217595b86f7c30088453e1429da2c06883ce5c1e7763043b01b21b366f16027de9e5a132d3536451468140ced85063816a6fe784def650c7bd2e049afbd6d20ce71fdca1f653118e745f7b50de5ecaed479a3884a54c0d550c3535d05136eafdad1e4778e2e1f0d21a22e0f9add9793a05226934452958e8f2a6afd90a1e1cbb3d79df567a6140f92ba687150a51339da7901a72ec9c93ee1d7b4c2bd27529e155bd4cbcfc7724f88d7629463d6eea5bdf0787fd010344220db6947b52fc9595c7f07a758a4d7d2ff09f5ba7e32d47bc7a194f053b14a9c424466f0fdebce2f3c6dbea715ad7b4afb14a0829af796d45eaf092d2e07049f283f0ae9413ebfb9b9100cfe251e4ff1e9aa3e190dc8a16d636eb0cee18540e40fed80766f314a8b7dcbfa171827f7e3d19dcc0ac76a2bdd6e2f5ca217230be1597a50e05e5916fc04d27b1825ce22cc11e02b7114f52b4af6d8947247b3ce5ed3658e1e31e7b16515eb5a38197555b50801beb65e98368520fbcb0a8e1a5b1128b8c18a2610ca633cef7823fbec4f627a0fb3c0d52d7e5af7d4b5a336c78a57356e2f9a8b1e5d059eebf26cb47b38e07a82fde658d82b0557501c7d9d6eb4237f67cb43d8dd3857fcdd79204f5c36d4f7a86dca83604fdb5ad24a04e6aeaa8fa2dd13ae9275f5329df2c86ebe41f670df0a4d570f39ce494b8801af718d20a2842cb41646ff318f62b93ec8757222abe1fc878988651279090c626e4cb5b3d42c28566ab5d787dc62cb836ba33946ee802de8d4db342f9d23c96f1d8a92d4311bc5885c043be237e6cd0158e729fcfb2d572bfb4f01f7310a636d00af3e64f4cd97983e1094b685dd44f650bcfece221817bfdbc4a5bab75befd02b31ef3b7d7c011ca4ae4579e303ce9fcfc3deefc0ffe9dcc1a47c500296f7905c22b4686835bfbaa47e06bc5b168490b18187fa202ddc9b271f1039294c2e54f43b330cc5a7aba81038f56f23bfc532061282d17f337b157b94ca5323031a2b0928aa84abdce67093feb6607e9fd3c3ba2afa22ff7e0eb63750ac15164d67d605d4e21b8af8a79aa9448df59c10b547f5926d46ea62096ba9399351611bee541158552d716e1483dab2b59aa32111d4a2dfb86c066c49029337679f01ef2a45a637955046272c3c0805d275818d6e7f8d73d2c2c2aecd6c9dc14f38c20faa1cffef3c1f8ae986cbfa60fd0b88887e031d6b4ae8639dddf002a3af1f5dc8363676fd3cb8bdb7d32306c00b21eec44a69519f1aa5215277764643c214b4bdc80cc619b186d005181c67c31ea13c3733687520d1d34c459b63dfe52226c717b48df6cd97acd7507585a0a01d767c5eea1d19ec6cb5a0197eccbc21677c08540ed412449f076ffafac8fa5e281e7d774bd5c61f7ddd24ca762625ac42f3bc7f16c7363bee98c0a1ec75d07d388b71d5940526c567427542d438dcedc67e89f3f6f50e8e631c75d84d1538783ed0d949ac254776a67a61bc65c28abab59405d151eaeaa3a056bf604bf5b0beccac632639340cbb2df75ef1960aaaff8bafcc5ae80b0339981fd3bf5b6e64c5fa949044c6a98be5854f34f94685744bf245cce0060c6d82643617004029290d60db2ec892a6decadcae73bbc409b0c2af05f0edc562ff07f0a683031c38bc69d93be0c06a6e6f2bc2120c614ced0cff4e54342732068dc6ef03570b645fa63935b3145beca327a54b897a2a023a6ad2aab2898efed61777a7605aab0b0e93480be5b73c5ef97bcb2a7e0a16beddf4cf0dc9d60031153f917bef9e6a1f8a7b2e3cee297ea6dbf5b52147cad69b8a475821cd83e2c1fad1924a247b754494976b22621b1e89c52a22b5abf07398d9a3892c48e71344d756465d18a7b5f990da955863dbab669b91a55ae88649b3d02817d1ec321c07b9dcc897c1dbc8a62d8d0a4a24e244dd54e47022e687d432cd8f6e9e0333e9c843dc65a781ee4de5ad73a4537c50d6a28ae9542a3a6d52ea2772ea33eb26df9f08a4309b3faf7bbc76ac6af5ae643aba0d8b44e8649f0b89822c2c960a7a3c9098494c0e22f7039ce5d5c275f997f02e8042d2236a4ccb36a8d74e3dc36569adbb63e6060d199b77a5e0d2a11fd972793664a4249b24f973b8e59a1a11492a788a863c32c65ff0831899abbf73ae332918d7f60c61dc5aa54e062cabe466ac7cabde0bb8ed0afed3233260fc6ec58aea20b25c84bd21150a9a2ec6f0a0576932f7c8d69f2787c9379a8d413ca1bda2f35ded6c01e440f6c84b8918648f094269f86743493066556439a2e64ba003aac4e3f5f82f488b607e35e287e138a7c74f7ddf842ca662bc3d5fc1685753bcde7d0a6b247977632b455a7ccc8b7b26e05bd466725e62a705585e6a80df40d99a8c8c91c20b479981be48a2352892bcc77ccca3dfd9fa60b9fe1c586ded78116aaadcfbaf02e567a4d9e2660a5871c6cdb9d5a22ef158c970e7981bfeab67f60a80de50d8f14fff2cd851af77c8e8c290c9128cac26f4d4152cd15774bb00515cb9e3d81fa05481acf005aeaa6cda1d42d5e2e7e22f28003edc932c179d52088146460937304e7752dd409b005dfa7d211ac20ae959285fb6815e7c72f04dd819acb84a6c89a3ce84cbe14a0a76e37d3584b73566a16e002c15f0501d7e64c66bcd27e249266d3b0f4f52d7389bd9e054f4408e2256e8890c9a664fcab1d323958d49d28f0a7797586a80c2e2ae297192e321bb55031d8715a68f5e43316e4f8d94bf7e33f99002662e8d04a309918de85d11a7972a2821764f461481ae4146228b41fc2cbc8d833ed443a0c6cfefd133bc13d19e7387644de5a1c002008850b36eda24bd0480d10a3caacc192404fe4fef55410c22813383899ee8880f855e5c3f79fc37da178e28950147dfba30bc538c23275c8047377bdff40b2bfba6e22b9702523501b28f2d487754311e19213713139f13dc250d2776245ee69f3587d92e41fc108c87edd84f908d1d4de716c878178cdb6f85ccbaf6b9f21628e2f489c04aeca9d2dc9daacad1135c7eef3a1cd07bb0e2d02e4cf9d3cfcea031a15063fc3e3dc07f0d383366e83128c19c2ab513d69979d780ce3ec327c257038bed0411ca13ac85166ab58a514f5b36ef3639d7b8b0683878eb5265116ee9eeba3fd912011d095ebb0047ba44b5e714cb8262a9ef3d5d0af51ccfdf91cfbe792156661ef55779c6b80f97153a838d3b7d09d84f191beb0461ef311cadae301f8331319396fcf94f4a9705bf3c47cfb88be64ec42921155727e4272fe6b8355e32266c1f169a9688aa6caafd38ffc4c8753980a19a7ec91d3bf85b5024b9ad0d514d6b3601855b4172fbee50f806e0e8f137f1adad168d6a319f492c3166884ba0baf6aca88fb5feb1bac6342c48c509adf65d44d7c3e8cd0934356eacebae58916251b535ff76203b1e2481a69ff9667b83e7a85eb6aaf857097f58c03989378fd62331d29d212549804fd4561874c40e01aa9237ee489ffe9bfad3e3af3738d3db2c7334034ce548ec0080d06f07f3ef9641e538b2fb5dd3bdeb78124db43631854760b351ed5e6ac7f0972771b0721a797ae7977d2c835bb85a7f6c751fbf485916f1546bdf87f08d26cea17087076b35ac070b85e34ee483bee20401cd561837c7d74d5cdd66ff54121bda8f1a8e6a5455b7df2b81e92dad0c4485d2596b453a6bd3da31fca75e181bacfd509d9bec9573932447317772b281e40a21cf4968e6c6ed7f02b94288a62859e8bab551ce22f297e9af0458b555d870b56468838e6225446cfc1a8bcdeee154e696be001bc9125007d26b7faa4de77f18a9638feb588d4ee54e2fb2b8f70c679117137c0e183213b519dcc115105d300c136890d4f293ce59b57c03c59d9e3e7c5713cb0adec723fd37d0c0cd360f8ba4ddbff1f70e0be9d0042e2ea49abeaf556c67d18c9852a64c609a25d2109ef8fa1517c91d189ccf529d7c794297f610e41c574863e64ae4afa000c29ac67b2ac0194c325fb779b488dae02e644191b18bfff087d9ed2d25a73847b75d15636c8ea360b754d91bbada413d0d750e9c7e74a3208027899581116bcb8bea06bbe663cc22be659a606a9a0347c50457f528e21937a2affb549d2dce66acc0cb36e1f9d1cccb07baeafe693b4615856f0f13286f621edf4720014f6c29fa87bedc46c2cd22007b72c3bbdc01111fde18ff21c561faf9615f78affb237e05fce615fdffacd837cc0dff27d3b74b472c85213f625f3aecd9778f363a10c071d9dbc6a2bcb18ce50a4e7e10e6dd9de417fa7fbc2f2f413c4055cf8d4e8f7e41d6898c40b7784dd37e52efa24093f9286694b8f9fc3625593a99c72573216d19e62ef30cedf3eac6d95746be4aa1322c2d8fa7e76a522da062d04ae06acefe263f3316fd035ac667fd5d601cf67bb39cc67cfccf5e8a75ff71cb46d3e9796826cc7af4d26f714c151be6dbe15e4355cbef62c4b5cc0ee9a842373c78606a94f0f7cb03507df682f3e3fa66e88635a9c07700e834a5a14d6c98ab8a1312a3532f931abb910cfc09c628b06140eceaca405ffe6070f8721e1fdb341c0bce782c83231d84687b842934b842e010988fa93a40010dbe159be43dd50a144214609e97e79b9183c551b648c81a0b91d24a6ba08672701f19cb9d58065ccf6ed681ee9faffe5b30eca14b1ae3ee88b044cc1b0ffbd685af3d56ffe7adbdc08422f39629544ec3e1306d51e33fd0c003c89a08c5c2c64e9774b795394a3e9c21687f8b139ec6e0ed0b392e83188efa1f200ddd8a759473ad370b7d3462ce7f5597bbd746512c299ed964dfc1b4e4d46f580aaf5ecc29de6be649063751a7080a1c870d5b2e9683ef810f6ae64b90ed53f8285e9447de77295a4be383b3ca6edf2699d0ade28cf00d2de2002c97a0b4036814efb948aa3dd7c68aa61cf256db40fa0a04abb19fc47da8ff7174f6f2d7f3f7a0094b6786bd14681ce51c528b2b0613ff3513beb4dba56a65a994af729bd95a9bbd524ea07da9428ab557fc0a92f2566f010931e2a78c13a4fe541930b59228705e767fb756cf69c9b648295901ca17962b496ee55f727265a46ef92c6099704c5d5c4149cbaf7ce0330c12a0dc2fab9a0dac7a7123bdd2ecf5cfe72e2b6bca02e4224d89dde66ee043be375a64349b65ed40a916848fd4f23ddbabc283b3408db44652a8360c503aa5f5ba0bbd5b8f58972c9ad04e1deb9d9f7eaa2d4c23bf8330919f56c3d677d9b4cac67fe77a690b4c1533db2e1195a5cb6d4e09518d02d5f6133d80da41f634492f3e5dd6447e7ddcf3f10062cc0729db7327d266d0bceb56808483ca6b1abe8e497fa85feecb289b3c341d1dbfe1825ec30567727985fa6eef8530ca4649dd5dbe09b83cf25166696f5c16c607168caefbc960c3ed1cc5a9daab26810b09528eb76c6515293dcb7dd54c2ef42e25c683efe0d20117ed43ded12269207c912f47bfbf5d00836978946ff3f63a110bae92df02f2ac87f1388a16b61a6d66d18dfecd9a7ba364e606f288bada0c139eb65e0f2f6b0aa6f12518458f5f4a2dd2871c3de536da0b5535b794c3332fb27822debd44bdd15da886d33f550b86f5a73ee40806f25201638418376f20f2169dd85e2ed48dff0cf71b1832b84572c8f5e9047158d520bd5ef674efc223c83666a8240bdce9f740dd40be50d5139ba3c143a37657f30d551e3fb2487745840accd2ff444230a2045cfce10751b58bf71184ae94a823ba5d4984dde45152903ee6e8b94b31a3944a6c5ffdc4376586e07e423564701b9c3d9045591005f0da317daf305ea88046e839e0804b3c298c5d28d63f941c46093acb2fa529868af799f2db75d276b9f1e050b3f6f083a772d353344fcfcf7418413fab5dfa9f291b71f9542c82489ff7b46218252faa49a86f08c91abd4e46f6f0776a98e595d544f7e5a87fea18372ff802d5385167eaf7ce16810205c78a20acfbbd97497ec87b04d65cb2b96ccb11f162188e91b1e9ef303bb1a8a27fd76ad33e70598e75d613685f710b96e47fac7deb03ff63632c66a76b7f9db2903f25d4c23fa8a04bb6ba764bcf0789d2f1041c43f3e0160222bf136d250068c8161e1bb02e86068d1697b8626ad4ad756c982c847dded3792da03898129f3acb46a8917ff6e1732b682de2eb32b4d53df65ff527e4678fefeaaf77b8b01e09cd9935e67df9dced60d9f7167ac8a0a7f42e622da02ecb3b83f3ee2eca611b997e346a4efd832c4c346b842fe3d0bd9fc62b8c5b8ee8f25512394ec101bc19b7dd79df1f5b94dc380d64e4038a68a6da9fc6419e5989447f02dae7b4c1973c6fc1b78fb6f7a76db7d6f8d7d925aa5532042d6d09d65a974dfec5292483edb84ed02d7383dd079b988444cbe8b505230b718425d038f3760f529a61109b7c86f603a97102bb70eb20979ab1b0bacb20ce7171981b28b5dadb7319244fb85d122ffc1aac98daf94be9b7928b62eeec6521b4fe90f0dc9ebc91216f57becdebaa332312f856215e0e7553b39c2cb25ef5335038843d18d56a7fc0a71289d7dd41ef453978ee9aade7f54e39d1d5adde5495613b5543e37bf0474ecce843fe0636870adb3436c31fa4e4d09a0257711e02b0169d31a5c549a7b0b2de020e4f921f2f08e68034848b64e1dbe476d9fc4c7b86e5b3a80292b9b0640b0f0c763d5937255a90c5e7ac9990563abab25d2e9e530aedbf0e3068f4a85df04c520146fa3374e0aedf5e960f033a3aa734c8ca10650de41b351a6c64e2bf6992b13fdb01bf64d684a62b8b3912996637afbfcaf7f24d6a7d7d2940532d28ff569a2df5a61a309d44f618b5c334e3c9fe6deef61b6ec906184d803c11537763a1c1be6927cc63920bf6dd1548fc76c47efac78023c890453a777ed48fc4e02e1eff03e1f3428f51f5b3966ed379ffd1c122cdb8229cec4fb7ca555304db44466642075d991338a96b19be0c3b274f931f25479676bc1b8d118d0f0612e702f27f1f228485c6162d5840c1d04d6e2a5fd3029b4f28674237a50d69f0b0689a25378a183347d53d389bc814b1191e813d533ae7ae645162c3b988596d28707b393f1ec79287eb4125585068c20409ab0d3b45b1b289ed1a8e1415318f8a3fea2ed410381273e3d743bd1757395951309cd4c56273965318fcf3fc1e1d3c9f24a36a0563edac851506ed7ff789150f736ef08b720340b68eb506e38149e6c886ff2dfd02a1192427909e3ccdce50cbcb291b3a2bb6e6d535b960432dc74df25a6b17bddc9a02ffc75b3f0ded4efa3bafd87ba45a25a418adaed9bd01b5715ea0fdfe581088dd03861c5672843fd47e8803375d652c729dd3328431382aa4551a7c00d6e94f1a5b8ecc80d14edbad2e165dbf9deeed10919052d00f69878fa826365f4337e8d57f9ec6a79ce3586be5792725b1bedcd3c552fac4dd417109ec7fc776d7c30cde671b8f8ebdb15b5f935aa6e26064e941febbb32785fc6a69d90119826aad6982c66edce0db8b620e97f0b4eabaaceb86a7d7d67e691b9464ad9809b88a9b297e08b153b14b084a1e7f1196a96e7de7f43c4c20453316543d86714bcbc9ac0a60a0b26c970e5ffad4e1c448387a46ae7e5eea5bafbbdaa66901ac620370b30b64609b0082de97ff5aac00a8363824e0ff7442b1e06ad2de0fd260025bd53e1daef52134d1d831cf9cbf1fe08b22057bb06c1ad5dfe74d9a93bfd45caa183e15c9ed4d027e3a31d106c7449d0cc1dfd9c019d44f452f2699da850c081b7191f0dc6f7a45da376745ded254ad05f9008c9ab283f6a89b48bc4983d6c025d85ea637566dbf170fcd0fc51669123d080ce444248a037b194bbf4450ee700678a78ca4648e5abf59647578a82febff7dd7eeebec219ed921c31dcaa6d28cfe2d1569e0ce0c1a7b8c011a4ca7e81ac573653894805fdc6cfc66273ad10c13f9d7d144918446277fc05563e6a046804ad87732888afe01be018ad166373aad3af94ff010c63ae4bb1d6c34195ac61a6b33de52ac71b8dcf41690ed33d6c915f820387fb31199bfaa5cc0e122e8d2d46f962296f5969a32e5f1f21e1ec32330968fe00316d0c58b5b50cd1776447b64e6408afa1e5a1212acce8c6232ea87dce19728d79b3070c113783f7a00ec5c5c4839fa0c0243475be3d673a1617d1d39ed79576974fddeadf21aa75fe3f4a391cdf5dd5b5445c705404c54915cb3629e2be2f528e2c7690239f0c511f64d1d129715e3447e2fdfc8b8f18e08975765c468a286d93de7d4a773580d25e46514e545baf15a27a5f4fea3f7491bc283ee3692f18ed06822b02d48bf92207e78562965c6624994512f4e78851e2a770062f5c85c32f559dc57c4c78ce082194fdb14a948709fdcac593b7697459e09b4f07c17b940eea2af75c67a387a191e5aa0a0b7bd7cad1d4daee0f565c1b18ed5ceb729cbd9b407d56f92f4ca566472508d57df8e3079c0da5ec3d900aa73e9b29b6184f7d0117f4285919216b6fc7c71d32920c8afbde73efa6ddfc3e2b199433d88629bb8499394b2ec4f6eec44e5e5a299f45e3e992c96f266d9b50ae0b713dfc8ac02c96ad537743031b3b4ba8436bcc17bd603cfb75b1adee4cf17fee6b405000f5a5bab9ae6f4bb41d2ad4f190369206e05f63dd8cc9462e766457bd42652225d3becbf1eaccc91b27eac02f93423ed690fb237fc17a51643f0efb9dc095fd841bcd444e2cb97254dd5033138a006ef43c677bf7b7fcd8f6f106c2e51dd651cff262320fafb000c7927fc11f2f4f860fcb18648a7d2e5c62606aaf5dbc76c2993239d7df12985fbb32d011914516d5f5580c5252063e006bd6228facf3ab1c985212cfac27751a3574233ccbf7552c707c07801c1260dc6f2088686cfd94ee11a8f9a142da986b26529048c070c4b4fd39d1ac5f86a7667a2b19e67842089ba55b72e06238dbd279c82ca042d905214b39d04374d07fd049f2ffb955836b37e8f78e1e43cf1c4ce581872706f1d42a1d5667457592a6874088cbe3289a4a66371cea09d5591e4be63fe00c456c38f923685b908af7b8dc42c7c9ac8aa82c4856763ee45e8740802d3cc87747ff2d3d52f4f9f007d314b18808a099b63308e932f34c7cbe6a3687efdf89638a882f356d695ce16a502390611a12b05c14899d8e64ff0dc2f327760a25e2b1e07b39129f7d57b26f37cc79b8a03a93beb74eba8d45265548861f90b8df34215067042883bb51bd2afd975580229dfa8e471b81773cb7ab27052dc6abf3dafe5088545f1cad5718e04077b947c2fc80ac82df12496f467635107b5a8d0153185c829edd0ffaba15f8add019ed8649234ccadbd8da20774e83b2ae2cf73d4eaa0b3561e3c1d91456d1be1a78325018e83ccf5e0d4a2258ca174e6c04022f9a7f7e162bff22c9f5eb754cd520c6cb65a8afbde0ac17b276dae6f8f2e2113eae79996a52656bf101a2f661a597e65d3b3d5bf767c674ba428eeebcd42363778b62944aa5c07fd7e2ecefab28446db475a476d4e191c7a5971c0ecb0aa3bf7c18df3e4f4ce9e136a30ded8276001befaec2fd345fb95895191694ccf3bbde9eea036b873569c8472fe02d5c63a58d4e81c764d58d7825c68beb0202c9485d0a719ef794a12f255fb84f4924f2a10c84e3c7c80c2111ae217684d2fe7f507be1e75783e2e3b7226ad41edecd6c5237c053c53eb5beb866e3be96fb9efaebc09070d6e8d16df8b9c11f4225ac54a8597b8d6f34bc9ed2499833c2af64c9a46c8d2b2ce187d4467c5ee380a586c12e63a0a2b34cc6389f9e959eb5c012d2e72f3f62e1f32a1b7c4b6e10276d460750f886c6749f8de802d43870f5616c085331a2cab45c61be3c51786f541a7fc3aa90bc9643586c3cd0775fb701cc437e702366f7ff92c924cb0617e0d06bb4186eff7a3aa70b0f3e1503109b961c53e4effcf63023dacf0624aae7e2d3340dd7e02da8f50c9192423028e915ac35aa91a186392f8fe829d364c0b4fbbe01dfc34d6b89782ca9599f6786b16dcd4430c48fc617b55264483425f2783a55c53f3a2dadb59eb1d6ffa9eb55c35529e1f5de01743a28cd215fd4666e37d02d643345c84fff6999a580cd44a9cc82bd8699f6c0323278acc6fe5ad93d88a570a5c24f04515db714f4f7b5aa8266d20fcf4f54573f4dabf04a467e2020fceec0e99cb7b00fb6c2efc439cc181c430357698be087a423c5a34acfeb755360f8f7294c47f0247f81fde7d5961ad1407a3c2ac9572c489e9ccd1eda7af8522c6b9ca77d8f73e02b5fd7a140e6059f508e0ab038353458349a08b6241c26037cd53828f67f0af266c39ff92c8e2a10606b05de3f69621b523a9fc4b2da18bc89ca6d200aa4529a3f7f989a5e1f5ecf88b059a68103a5e17f055a1bbfc768eb166afdc0fc803d351ea0072b697ca8842ea56f868593f42fc0470619b7bf5883ddc0c5701f046638f85ac60966b4ada510ffda5b7deba13532eece187e31b4e7ab0cb3f011667a75a0eec6f40a0268d42385831032df7e18bb0d739489057850755f99a1385fd67e7258a255738072a1c5f2fb71b435ca68ea33e7660d5d167d2ed2cbce02658ab891d4d354275f8ca1f079ee008c2ec71afbb5c8534314fbe5132d94a927e8571f2246558978a78b19deb19c4e775733f3da64c4f604b082a03d5176d976740cb487b278272c5358ce6be66ffff9ff44454692f959aa967655907530dbdd6d6a495a51791dc50d202bef1627866c50b63f8eae2c92c107c085bc937c656c10567fa4dd116e3aebf6ca8abb41d824bab00543120b8a54938311b5c7a49b53ee4171ab26b23aa1ffd1b3997ba919a0af502335cf4222f8f09d528d997fe71af1de170c7d05bfd2a01da728c4b4287607392dd7cfcc051522ba4e1d9cd601cce70873a8caa0e312873319e56eff283230a4f8634136ee5050780edcff76adeb64cfef4ed65231e646916d8e755f2c7612453608821631ca4e2ead89e97ff072c27540b76c5f1b98f35fef15316eae1daafa76901e86691f7a3827d1ae04661dbfed07cf5e30897ce93b5e73c8bdb8734d4cfc3d427e8f8c39f1acb2cdeda8b3735f63f0717a0610a29bf2cf7a05e1cbdcb7ed73f4f7c738a0a010ffc4cfb937ad4436e0d573a4620c73a1f54cfeb97f011029968ba67b8566225aff5825ff77946c084f45140a01efa357925690c12755ab6e1854466aafd9ae0079f2d3071a3afcaaa47871b248ae98f853d96c220e9ebb86cfd22e18937e94ce77af7f03212cdcdf9bfd94c84faa6713f99f4faa4f4753688c77ef7c5194079ba272e0c0e1475ed70c86eb53f1a6da3a67d265edc18e4a2cc7183553c9752df4f2f470950dc71a8ae30a2c16d7b6b2e9789925b2b2c85ab71b8512e13cc1415e1e87a5446de8e2b7131e6292a90b0c7345ba4852d3721f3bd861e24caff16386eed6c3ab027e83a36d45a5dbf45aa491c7dc5dbbef5161b872ddd9716faf4b1b7611f1e5762ef25132aca4a99638f41cb21b2bb91b59876f1ea3891c41b8f8ad2e0375ab66640768f7d2b9c3cdf4ad408f29f389fde1ed35837beb29ef8fe53ea7a46fdd2398dbad53ba8076b62e1d2e434b75a50596dd27c2fb94f0a61bcdb2faeae11eb6b4bd490ed1209fa1f753dc7bf4757e248026db413c330caf5d9b28e2f027376d9b5ee99e748273572c2517e915bbd54942f2f8ab701847a032aa9a8b49bd85901cc2bdda2745965e02fe9a0578db06de9382d5a3b44b1eb7ae48be66ee2e5bca27e9b52e8b254c0e0da37b8768c70fa96bb87e72f627cf209b6ddd85896fc4e26e64ff03c741521bfbc2e80309b87e07692689ad34df50921930d63f396c060a02f3c545b49ce9274984b6a8c7d4b0af9e333a105267469f0ca1aec62684ae5f9b10c33510722cc729643f3d6c30f8ac1dd267f4df8972d4cab7d95ff59fef6d0d2a63081c656e5bc4e641ec6a6094725badff6c91cfc2e45bd38112cf1a1c06f6d0aedba95b776cdd3e7faf563e8849d16938d167d3b60a24db3e1023cfd92d914f7ff2e695f8726d44545f49bda5c307db9a7eb2bfa28a0998b6005b5e590406c549dea0e119a03c33d1041e01b1ddf0e9b6184c0d5bfe90f6b2608e57075b28a2d323101bb1e8d8231c1f01a1263cf594e5186392b7eac09aa44cd72e825dfc08f8080bd5fa3d2f5aef8e2681d1ace2a3b93751c2aa7ba23633080b41519c84308bfdf538b8a642496825e87246564b57ed3e60bef8b8e2cb3a97c11a95691a795fbc741ef683bb7da971cbdeaec7aacd42592d865657df385b870add27d37f0b0f16f23b9134f4157e14154d32e3b813f77dc96a847e4310653c054fb0349b90d8cdf380c16e58110d704f7582f9d902eac98dc6173fef221de433d53b7a1d9c9c93cd8bd9d634989c9c458b620c03dade396ac246ff278715266378c9cac1a3c6ae1450792081bead05781c3a41fe82f8b0f5621a0a2892e5aa170e08b35005dac280442c64cfe75a7693a151892b5f14d8d0ca5e73e9cade464dffb2bc95da79c3a21e217ce15fe9e7f01b1b22593092e71b35264a18181fde3b1377690cbb91672aa87a11c6983fd3e0cfa88c5b1cbdeabf3b5e0fdc9eedcb718e0bbd3dd332a4c80d02c574df16d4ad77546d7df53eafe505848ac19bfb0d98613340c0355bcf0e7da6e22479f9255af09b7294b6a106d4ac96d6d05c68961d6c826f2fcb4d0734fe0b3214cef28410d0c7c032650e592ea7099a18e652b4f2a38c955feed3ebb2c2a4a680e7cddf0cb64f670635eb2af4a5b89f4183e9625e2cdea833682e8abe89a37ef8550a6c27f697540b87cb98c8139fcd2a22dcb0e311e337852314c91eea1a0f668bdade6993e8b9e0d70be84f84752cdd53f2a9fda813149ff26a7cf983a4903c38c76f58634ecf9db58395e2941781c7ea739e060f6b7b3c7e1b446f13c6d97fb8424c66d9af1dcb13ca5e7db406724e7f80bcb6481702fb441c35ea497788277133d3b2969240a837c8b438cc525bbbf7bc91fcaa0d7057b260731d33d9d13a592157048f3b2d66c715650f2bee2aca3235977aa107bf2cd6a8f47b12f01e379dfae76b6df9b287112f4fd38edc01bfde982788dbcb18555c97e12570367df6d58d3e63e97c4b8e89e588e8fa633e6724ab42a04c898b041f610cf40d925b94e9cb722c60ed4e378c328fae98209bea2999e98f1dae59e9b3361e2f86f66c7f7f0ed40fa8726bb805fdf74c97f0eef110eba8864c7374d1d4f19e66d3db98254a6e804695afa4ee57100108714229a41016b0859b4b2d6a2baf9fc1c3f450a6f6e07899f0d170a7e66ebaaae125bb2acc47a8cc9e28af13565069daa8f120e7c02cfa8caae6ee8bea321f7e74e496c4daa37de0f1cb4ba381df628d04fc7660696821c1bf3a1b433a0dbcd7ed7f795e7d02c755a9e710e29d7bc9cb212f691fd7e5c532077ca7a312292d3db20b2144118fcaae769c1b9a5fa154670c1e74468b0d41887708b7cfc274a906c4d9036965af5c516d480b6991985efe8c02f02245d3af838a8b49048728314123d2631f03b53b64a386ae952ac9dc539cd5f9edd76e00a97e42e9616d5e7c341bb17b12563e5cbf29c1d631cb2758bf7ac0cfdf8fa7e467d63868b553923e7e8d69c0b0d348b8494af55dda64f9e758f862d3366ddb304fa68b1aaa56cb5ba2e74e645ee25e110f8200835fd3117b0243d77e03e786fe2594cd176cd61934023222c1f83a8491ccba139df969b06d6a317296c1e04a286a6d077d54c98de1c3e63e60fc611775fae513c405ae57fc5458d4691a8c4c2387a689604c7d2fe3e7fe6cffbfe58bcb3c10bb7df82bb2c12e1711fd7428e6f70c66c4e55e7c32a5270fcccb3434f178514be41d8956f9982371cf579e77e6bae3da9eb861c77dd14026a203891bceeef12c36707ae278098e23b8597720f17e16fa129f2b520aee2acd93df7599c22905908cfcb402cce7bebc6498282bcab6571d62add3ddf7b6a5f97572541467d4372a55920709039cae769b09c16bcd7662cc1818cc942254cbdd20e565b1550b62833cb604617039c79b892b76d180fb0c37556b59b2ef676c0e6094d1547c5ea736bb46086f199ebd554a7bf07aa1fd3700515b2044e3568340ab565ef935f78c29860d3860ea57f50cf7af83f7b7909f6e73fff4c7adf5cd863fda6f28136bb15b1e4097ab475aadbe80907c990b4409f81043b1aa71609d4ba90a98685bda5f67edc0b28ebfd3532fa9c76a2423a523b7232d2825d42fdd07f643f6f5338dcb287aaf68f8064e6be723c0b66620fd80c4c907a3b537e859cb98e24fb87f2818be2d076351bc7af68661a6e8647d6cad63e5f692ba08e1517e55d159dd544b9b17c43fb0d8cafa5ad83df2a16a8696c71618acac6b6493859116bc7693f9bae89b0557e89ea256b6953536153903717447bc53f4adc934fb56b0782c76d8c1b15df6479d0524b2d52be19ffe3b1926a719d683cba38f1d85b8d979939fe6f610a63668fc68ee9d584e8a2589a9b3d8764f8a5fafaab374b45c4d9ad13eb3a5f38d470cd968c180dccabd17999dab42dff62a4f1df2b4a06dc13682ae66b194a76b1d76f60373ccb0b428c8ddbcd2217e77d468a27fd5238186677902ad66296bec149fc6c889b89c3f6bc1156d4369892aca587205a13fd2dc4af10755144168f1052dedce5f636778b04a7450f31109d82daadf2fc30a53e0209c90a9e35f3b019f6362cf3ce00135347c57bb9a389b5e7503d09c2b7ecd1b353fbdc772ea967efd2894fd4af05b4284fa7f49c25e538dab9f39c96a2fe06c9ea1d9c818f4b1ab16d5835405ba239a810f654be7523af08a5f161af335b78928f09a540bc3914ff9dce95d950aaa8b56b48f98d8b93f7a26f016c4e1f62fae10c072c4c873939d334158b8dc30c9075591de9112e48ba7d88ed1a788a76f51e4436d7995691853d6ef5849cc83852db514187632534e2e882f825f32418d9f55a5731501f2f5f28448c21dc4d9a856cbd2750099252b6f1901465c3b08e405c90983b30ca03f9f7083a176896504efda9536f63f85dd259612a0119a5123b51273b9f094a317bb3d9363058c40fbe3c0a9e4881fb67ea1574608687ed4894698100e1296d8349e0e28fb1ebf3746b0ff0f093694e837f8cd8993ff9c58ccca4acab1c9c894f5acbd2c095b42c9df87b1dbf721bdb7ceaa7f00e02f6cf02801b759689b1b405f722fe77f0ef1c93b1206980e10eeaca076861c5edd58e01e9887dd3081e0947bbd31fe8cbfb386da3e3f3f89845751252fcc482236da245821703e43f26f33c6f2a6891f384aca6ab3bed796078ef7a52a05b6a0e660b67ded8a8e943f927b00fda805caac3d6f4952847ab1d7212d5a7cd7515237596c9a4ee6f5bec6c2b1328b30a74c5338c9f774332ae6adcfc3a003ec85759d9da0dcda60836a7f4d24764b2cdb71d775e6ebcc28ede6267a995bd8aa3e7d921431fabefdf8046461e5de1382645f411df7a66110867733bd004ad271b56909a913045adf9753d76882496b27f3ae49e3c122c05e6c450ae5a1aa5ae878edad23fad43e67cc41c566a045d8bc19097c345890d8fa2c50306932d8e14bca1e56e37953b62a350f8e4389b57666bae1c7543d5ffcc234f3399e2089c46be489285fb7af5bdc448b8b148392174112ca04a76846952ff37f69ba18488f55019757fa7d71def99e8cf329f0f27828dfa1a1633ef0155150173fcc5fe95d5f9dc844d512d1220b5b568dbe09d98a3851963236a54ab0a96e948aec3961151c137529c988b79d4a52e60ad38bd1a5947bb2f70ded582cbcd120974b5c6215fb16e5c23b1bbf9f9281a9e8cdf4bb3f35406b7cd39bcf444e8f3013bb8180dd7ffcbd8425d805afba4d5668ce90883acac12077dd726c09daf5159cf6a3f8d27301582c6cad829190113fcf88a16560a6abc31913b29bd9ea5bda8080726969b7c244be4678c35b4aac3be19a207ae4f8cd94478f6a424e4c793e158618a768dc11e579f4f82a55cea7a7a512dda271e049f4ce78c138dbe58d4df4963836d886c1507569ad6b50b0918ce80cc32883a933922d929f56ee8afb409bc7e7d963473e95f65376b31d94a281b21f5fd82e1988c31d9563d6446b913154af887a89007506edfb5323d62c7ceda6ddf8d2bfe306b8e45538fc3de579c779e09c067a5041d964961edddc30bc312e5736475c506b0baa4467252b2b6ab4a6d3160ca739a965b13a5b0b6c3d430c3ef4c1a5576f66ad388bb4f0162b86a0e9f92eeed2277f23d3d9ca327bdd6b397e6cefc7e23eea503acdb37c461a0d19652725909a971ddd12839fada752dd106aa7e37eea199078d9f5449778e7ce89724a20c02b04412357cadf65313cf635acfafb7ceecf84d411979fddaa04b3da17febf76cb014e5f6db34ab32dd4ad4c584d65ec4a3a32ef0fda57bfb268025b3683225b7aea5e5b15da209b223a200fe854c8b947e7f51b74bfa54d56ba7d450176c442d2064ec8df946212a4edb24a4c86a3b4a0957ae63806034433ad3f7d01bcffb5fb4cb62bcf4a26a209a5576fdb15cf7e9efb2df106f4397a38599b57aab9d6638f8b5e178d0c40c25720c23dbaab3d36e9d84d4c63771a28d0da6fb2a6408cf37babb8e19ef2acf1dfefceb41c1a3eb7b3965afec841c86a0907283a4eeb759ccfed6bab2b4c203db21e687ab8c3e6f69a78ac8e6a73dd51f3615149e287c71d01df27033384a2f0bbc77097a1315530f18b98adc7ffc4d57aa0accf04cf19a09f0591ba75a8cba299201662401243b4867d1b2fe443b8a3b81830ccc81fd335ec0b2796254414566dd8af1e7b0560f9acc65cac02a6d69e249b82a4e13b37e832001db2cf53a04a54f83cd083e43e6e127474f58de75a379edc5f0f3e0d25fa523aa2ec8d50767d8b8689254e66a33bce405d6dab15719209e2e5b04f0dbe14af648964d9b557edf96f1a52d0e3f13a25890cb6678d176a7714ecf246ab4e2fd87074289b6e40570cce0b83afdc0ca3ca48027a1c2185fa4640d13d2b164c8f8233619d45e96798c95a188f07919a3b6e1f57321216da67b593c28c5eb6afc7c19036842ca99c2aa965b141145634d0e61bfc101159430ae1af1235e19ef8a2e489498619a5e4d1676bb9d014b5519ea0921e091275fb25d440476196d91ab215d16ad6ac281969ab4399a9267ca6b7e668a4723b6d3761ac395fe8db21dfe65888ca1bee3c21f31ade361f36016c95acf273a238c722a67507ba17eee6e6a207cf6e462cb736939decab8a81fc50749fdc5a5c505290fdb45ad3ca2ef09e9c3889074800fb1293fe68f4d853d1d8c1674c6e38601df40df7b0a580d56f0d939dda33ee77d6678577781afad6c9328a5ac0065b20d0265477de9ac405ff6dd5371b077141e8244e4ad066c422e60e83f5c3b32996f86969cbc8ebcb61edd66411efb5e8718388bb8b739759b1f9bf3af4da4b97ffd4067566fb29c159d17fee1c3f634fefeee44d1f35340b99da8c27cecd987a1eecead53218c01c4ce8e2d8036c198aa80eb9afc31ebf30372ab0c1188e92a904d322f11b127bc3a1e3cecb4ba62a478c4508ecf88d940ed651b6099ec14e1486671ef31b578fc1a1c6d89064d978d9a077e9124861fc9b306e4679575b1bb6186629e92ec936b0ca7627de894198fe5ebd18c09e50eb454ab523267bf03976553d6674c5cc7bda9486d4d3e8818e6647b48ae48b85912acfc20a307d4fbee6247002035f2655a988e5020e85eb8299dc4a315920a8097d3498702eadba57b1aaced0f9998bd2a5a1385e06e968b8db30c304e123c39afa75c27690f198cbcdd886e9d1d1b0240fb6ce93dd6a2f4dbc1d90faa14c6a897fb905fbdbb34d3dcbc41be6f24fcc4990528a79561148893e5999a97334458f0955ab5cd8f88fd228d2fd0c21cb90fc57da1b7cd5a67c3a20ac6819ac9136ed54d92a56110468b1829d803bd4647774bbe2e24ae0ec9ef6d19c01a78f5e20f6f3823304c822d9216a6d029a99649418c4794ab3277c9c4fa624162a3790d572f0eb6c9f249cd5186b40c34d0e2e3a9fee3b03a48fd99937e5dabcbbe146bd87f7048aa500a01c844758291205286e0f2b53d72756cccd439810dce9b7a50672e5061495a433edbb0676c353a7574255b3ae826d7ec1450ce25a48d44512f816f60e1b0f97209a6fe9cd3be6f73089126ec165805685502c79000fd6870772bc8697dde695209f68ba9437e7c85abc9c72973c1cce22aa883566e3fce36479b3f71306afbc33f0fa3934db4ec9af404a87197f6ec34fa2d36dad73eb1e321740deedfbecbfc6fa7b20349fc13a77739bb0b39496f5f8852c6551910e80633d7e38623364fe6401dc65df2ef7aa326aa49c1049336921981d7e02deed37ad1e81faf71dc488f59463972e16164194a982194ba979dd96696113bc92f73aaf7331b749b2a3fe8622c2751e16553db4ca4028a2e3409c233f429824d416e8f185f0dc31595fbef788fd76b2850a9a2fc99e61222479c4e2b06ec586eba97af2b08c29c7208d5c20b03e69607ac6a1b28f5198a905b1fa9f6afd7bf9e831daf6f980ce05b703f39853813ae694716645448346c415121e790d3df71af3f6199cab87153ca1084824449da26ca91b9ba4b1536623f384ec8a9f8b9a90670797fe0bed738d3dbad7faf0cc8a77167c40fb2795ae53316fab6cd3e70c9cdd7b6a47c892dc0df51431b0d8619b452de5b24c02d0a823f7a4e6e5e09c8b0e7d11838f8214d62d23fc2b611b86a293b8f1969ed376aab5eba224959a4000757ddf7f08b80fdf2f9feb9b8e4dfd5fc01e3f90001420ea61185fd1e43619b2b88894deb6b23e98fa6938c613af6c8b0b582d27d7d1246038c2d7d40312433129c4af74e0d21602c3d26e17c26c2063497813e5bcf5032470a6052d957d58686bbb772b012de332f15d62eb025bf2910e0b1bbb30f61b9152dff9bc28f141e53c0a3a7fff192bfc597faaf4d3453f2798c3bf23fca025b9e63506bf6f84e0960eb1d49c398935d9c6b4ae03afd22121df63e8039e81acd4d64754765f5c5a2829e6c56ab6ddffb81a867c74e0e7057b185d1a1ff7246e89ed5633e3048b9afd13025c1a47e7ee66e0d366f835054d2d2953296b07b7f856d8b1d254bd598410ac0fbf58bf2050f44ac7214ed861053685ceb461a972b9e44ea2c53ff9ee67dbc893de36e3d68b756f7009524fb9cd038672ed49966a1bd1edd6a1d10f6ada926879f6313e7232c4fb60af7bfcaff0b637dbdd7c5e1ef1171605e3870b19d185781ad96f9ff3ad9d14637e67a83e9ac5a3febc0426d08689dad4142b60e84a8f44318b13726dae43400dd4f5f82513069812e6c23fb557b1aa2809c228edf8ea5ed7f8357a6eb19812850fda8538b785a8e47ffaf08935e6b282595954a718c87b27dca5e49300aec70a99333c456d1e2405e83f9453ec5176bcb6869514e15ebd4a728323faba899cf43c0260440b1e7a38c84f096caf7d7c3b4893dfabbedecb1f99b3169a859e46c9cb518afd05d82591f01b055ca1e24533e7f6264c6f4d266eed6a2dca175edb48db6c6f2a6a296257ea36bddd0db8c2bb680bcd1b3b930d94ed991bb07ad4e810a5374f7c75f755a5bb9df6e5e2967ca5bc0f37cbf6a2ca982838853c6fe06d54f68bdf50ac318919e537f4c84646474ce2dd240b52b3079d8def57609f41c09f567233b2471dafeed7ec108f28d0e56ec74edd3ef321f2d5ab0671d061375b53188adfc3b4817fb32288d1d4902cdd51b17886cbcd93069a41f7768e1ceb94e91aec549c87d1f13a5cc614c8881309adc9ad52f74fc76b4cb1fb872964855efb1ce856ad033c9f8004ae780761399ae37a60f93db70547b6cac63c8ffeef8ee279ed8e82e15ebb0606160f527010115297a36c10e769896da18afb9f189d5071ad6f28d214357e55ea3a9b8583b7e8c7b6cb1b959790ea40972a6aeb04de7f571f84d98eebe7464e2b870ce35a29ac8aa8fce88d77eecaa2585d25bd97ce529c4fb64d08a6da09a9c1bdf7b1a50c9fe4c7892f84a9825469fe529c2eff132fd199b5103f067d5359716525db81a6f23e63b43e3f235f72ada79e7e71ed460a7b44a7d83e812d8e7847e49376df872f74d94917de27a77ffe94bdc73132c5cb0847284dcdca97d773d623b4edb15d8f449ad3927d3d2a193f300093b8cc0d281163a9494ba50d74663ea4fa4e941bcd6d3c92991cdafa5475e1e37d6488d5a9cba6d800dead90d1c30955d7ca0ea5fd931534251246d3865e527dd981b1c4d7255b5dfbfcdab332dc46bb076d7da45b21fd46bffed2460bcd2d73dda0ea19866b904768f849adc6d0b7c1bddebc30df9d99c841ddbaad5755811d38b5469c794673f921eefa9fecc12421a78ac287b25c189b7dc889cb52337504f2ff8c9cd70c1b94b5755705e4e1e09a4f9a5b699f44b3801e2168f93b42f64f97a23a4b4520269021ccb27e3347e835ff051d5ef45797757ebd815634a8d684498cde0912fde15a52b7147a3a307f70b7c1ee8db56113f2d4a46f80b69f91be688d388d0e82c8a45e61ce98f4d1caec5b83dfc8836e52d1176896e368aa833eaacd236a3130efe400b66352872df667cbba0f3a26c85bd81051215014777a155eb62503f5a613f0505d67a284b4d92255bb08e5f01027074232d47eb1a3ea89d17501e67ab5361b4279857ad83ead88cce685d366e3522f489485aad707181a973d146b27ac06597810ebe208f4d8a833eb9c51f65dac3dfe5ebf633341dd170c536611f1168e7a9aca8996563dd2d9141d5f78cb40441f7ea2745ee8ad1fa939903888e20dda6cebd1de5b90f8ed7fb9197e040e660990f53d894d086fec36086fc868b9621bab1aca9d9d4df596b41a55b70691dc94cd9ed532c7427ea3ec1f1e05fa4f32ae679a318a9edb37d33181cfb8e3065bf1a476158d139ba7da4db090970d9cf1ca7605485a80f875f0dcc87a5f22dcf9db794b70fc597b18a392fe1eebb4e375ee400765b40ff6d976d49da03ab6fd2a9834bc504b1178faa1eb8ae8b2ca6f92364b7327da58a7a7bc505777c5b9c21edea1581b4975c52f1debd11ae9b7c5a3da6f9ce7426d34ef9a726948d27b3e3524ea557323240bcf798474676ba0bc95f004b9e10238845f997cc8560e710a8249df426676febc35be173ce4c8c68a05359f9823cd9e0414a686e237aaab1f4e3daaec074ab0cb85ea5b382c0cd18c2625777b1a8ba27ab4b406e61fa7638e1b62b9b962afe612c06e88979c70dbd654ea3055a0ff97052581673ef9dbed7abda91aa02f39200568fe8a5622ac3ecd77dcef97a83706b0d61b6a6a43846fd9fb5284956af4e6b234043abeddcea908048e74a197a3c283e3d2e6604e54f5f2334d0cecc89eda66a5a97b7da49edf7a511b01d57249e5ed3add8e4b1825f58a3e6eeacea24617f4fcd25aecbbf569e80b1e532fb940669da9241cd84a743c8fcb805a66b9c6d017cf883a3bb1f46ec05d6253fe06247327e612db509b57756fc61ace9408031303d23bbdd70e75c7eed3441fe06ffac8261a7fd314655e226c151d2711df5330f32c16212eaf3118cf468b8551c4f6b11dfc88123afa378682ddca7bd6247721c95cd24855762614cdc9a5d6e435aab7197a914397fb2ebf4259113c5b3be572d95414b9d8195636747275eb585de6ffc98dd9b4432e119408a7e80d64c037d2fae0a5c172f687379de3f06af7aebc229789997880c5b29bde2538d0a1f36ad89b39ee6a9b82ec46f1ae3adedcedecb8f8d817b8d810465c6857c31bfbb972e6df4efe3cba278565720d79ef9b97224a730ed3e0ceb2a487e0594fb25472046e7a91a65427457bf01e1452dd09854c479e5b29c29bfceb438524e7613d70e5bff408c63efc777a235df4fb88b81cf97837cf8a3bbb5971b102101d166e97e16fdc8437d5184a53472370acf3d28ec09664fb00c2cebb58ac38c0556d00b79e813cf7d238b746e45c0c28e4c33fd0c6b67bb36b117cb3271de5a5550308bd9dbd14ce29ae8def61eaaca151ac6512a6f7f198b199ea77611f5caed918072cbbd29b9770fed0e4cc6aa66b994b82d8967a38993ee2a6e4c24673c51ea6dccd49aed8af0c1f2d320525b40283c8476c609537dde9adfee6d73b8f22e998f4e011f41baa076490001ad59fdd5bab07595544f65ddbc8bf1b5f51818c8c1b01707e13526b750bd16d5a564a194810571b1e6589e3c8f6e20881600755b85ac2de3786f167accaddbb30464533d87556d37774b69040abebf3a7d1498efd9bcaa72b6755cfdc3c1b2df08d899f2de10883f855665d36e7d286f2a8e44bfe611afc82f45f835e4ceb4534791f08376addfeb9ca12ea94af4b46d6cfce260437ebe6daf4bdab01431942f3f38b6351fdfe1197409f0f76619b2b20ca5340449b96fb2e576f439499e16772fa7247395dbc14d23773ab1f09c20bce40a01b3fa3357a09312632794506acdeb61dd45f64f97e2603a0a23212246d75f708a722e13d44430193b088801c8b658995bc045cff3b6b19fd56f1b0f5333628881d3656c3524deb7dd3e3cab7ba791ee98c61a6a042766fecad6af69ae4e1a7d6e798cbac52829a96eb24a91d651f3dccc097ce7c0929bc832312d34f988ca6bcd34ae72695c3ff926523053d4d065ded6c0e6ee5961ac174cbfa3afadcfa2bb8380ef722e2d45abc764e300233cb7f7a86ae132e1bebfad4a2f98c298b51ca0611c48e483d46d40f21deda176cf6461729dd8d4b92308df181b1e1cf1f355cf80d63c7ecf5c76a444eacf47fe1efa7ae38fbd6ccba81f7917e8d1fa82da53b44b21195872b8844180af3e284249ce8fd3bed7bd3756bfeb41555613b54848ebd45d883cb7e8ca0260cc9c14de8ed02993a6bf426a0f9146f9f7443a09540494e1570b135638429b6b32522e0a6565e6a8e62713aa3849d652e26f19dbaa5950c7112e30ca88218f7b17eb891965b89d5750628ee643eab75b854ff81a7d41f5c3cfa5a3f90bc197f5dfac2402db86f6c61d46f2873dbf99a46464362def017900d7b08c27c9290e99fe7f6e5bde5cb65cd92d20e2e83f5d6eb957c6e5c14046528bb1efa950f41d5e78690d14e7c839136e9a59d4f81eec9d09a7f673798417df9f56a1ceaf9bc53935211d8d47ea81f5dee15c263d02e387da47cf4d244e004088ce019be78c73eb760f23d69a1eae5e72a66cd6e78a85586f906953299a085551ef6be56866b227b88d95de6597d8eb052935267b98e0c8d4ac1bc9875f1a8018a4b76df02711d3e3c38114cf24b344ed3958f2160398ad130aaae951d199d442f390cb61e18c1aa53f938519305cbf6503cd484ae0808de13eb8ec9c9d10866587ddda9c6e8b97c702a95f765f3fadaf4581d0c84ca71ca01c570269f449d95f6edc4bee582491b197c2287224ac60e28a9e6a9f9acec8b4aff0bee697ac5ed11fc1b1a6c2cf66f7b6e6aee507e5b2286049e187df42ad0d7cc95994df4c861deb82ef8d3725666b693de3fc4a1ad852609a4f41373409f511f7805e410cf3d18cce32db5e3edb7f117d103989d0629ebbe1f97c1312294b22eced4f0172a534108e19c417d3228450a5e8cf287435bf9acc3b262eea800311966641ba25a9cf390b4d24d2da8b3d0e95f028a8a7f15373fc446e70ec871dce36a6aa967a4a1cd9c93f00c711b97fc3371c299f74bddb481c4f5e56582cdf3bb2097f4dc510a0b396381707c7a8f68a7895cb1ce064262104c60989dcb7b4979cfa4caec7001ef83ba0c7b16229a6c7f6f0a29890ebb6aad041a91b89bdb3ab964c2b29bb7b4d10ef796527cd34c83c6534718c109f7fceafc41e41a73209509cc2655253cadff22a44aa9d961057b34f96a159c472927fa636fef0e5c57bd25cdd719b8e23d5148ac6bd10065137a6b3e1bf8501c6b45acdbc615a3d5e67faff0833014568485f5156a186ccc41a49b46ea4df50b10b471aeadbc9484982ff081d5508573453a59cbb9696f8f8f2fca8a874f498b56a16f50e5df484d466013c8160f50078f0aea783afef26f29d62609b0dd7f434da1f39e1ea2bfd4293a814d2e835d587797e6e247ca1c92d8a0f6789b0734ddfb33414c25f833363a8dd649665b83efd3d37f2e5dd58d0eb4075a4ac720eab7d6f4b3435ce2b37ac4dd385a479fdb3bd88b39f112eff68e8115a9205bd087a65a1f874197e8560c9371162a92ba35b75a453cb7feb3aa5d9e07d9e25e37e4c927283557a42e5bafe14a13954dbdcd0bc3ab8e650c5d70b9543134aba33e9e92b8441cfeb62d1acefc7e62de30761e31cd0dddee1e6b7d2f9fec6d2fc16862910f9b038c3a1247c3f1e24cc4127fd791e4bdd0cca8304704bd99707c9773e35e6e8628a03764c81fb25c780fc91ba067bc91346ba4f7bc4b1e13a00f5c69ac491be20c92ca5f3388044f71d57668660b0be717d5a10516011dbc5013ae21fb6a740d4c1ab9b19b5ea4f09a63e35866f16455b5f012e76653b627123e0035be6fae984db4bc483c58b4418edff3c843765e3ca5eee1c63b2dea5ed0bcef882296dbc3a5f311b28db75e30d945e32ebd6892181e321d4a6481d1dbda9e0bf78a36f065b92ee201d49a1e7f75b911d6b72818317d554c05d9e5ba425eda44e7852bf61b8803e8efa41c2f28517de2c0922faf954a82db2cbd7bfde69d50e9b75e1e772d9852e8b7569675cd438fc32d5605f09643e9fa535504e054e03080ece07f5e2c8b656c507ca28701578e9e122a840f8e785d763bafe7efaadaf90409f511ab1e4f5e6b80cf3bda1e5809e434625585dd2f728ab793aa6e5a30f857cadac49be216da0e9eafea778dfc27c76a7a66bcb4e6e307ee4968dce01c8ffb864bbefeaeaba040270e796c1fa2edbaecae02c4e427cf9457bac38cede9f6721eb11f6f0326c6a786779a336ae506fdd640650ce21f1bc2c1dbf27442a03a9079ee141fefb8b4a4c7f1e00caedcff6553c0acffcb3139d7ff9bacc23c7ac198d1e731b8bdb847b667bac875758354508bc3de0f3324baecc58a0b4ef10c4d757567d3b74036b24bfe7191afbc0f3cb0f685f271a599781374c10af35f2cb36b431c34c6c2011f269825937dc72e1d62a466ba5160876432f9af453746bb8b4c793c92a3f053eb47300815d3d2793c097b1df89a107d2bd07f53875c5b43c6ca51f2f46c7ea0bb61e6a9bcbce5954ed84eddaf8e83d11529338c70b84b67a270635900fef93c81482754771ef463427003a33143fef31aa54376ddc24515d6291e39e3e14ad73bee9dfca4fb93dc0e8d0c37fd522a7da0cf0e2cf2e27231deb5b1185a7bf6e1748e10002aa603979e40d0f12947c32d5cf4c8083ed2acf9810ee4efd73f4970caa7a9bc6d1462decc6932362b013f3b1f397d101e4fc6bc2706f0dab267f1a5634481fb7c36ce8aace3e625975606bee6cff3a25464de7eadab6f387143b01c8f2164566220b8106ebcad823cc51a235f4c5feaf465cb168683bde0dce58fee977df571c0506950cf29307fa8f99ad2691aad4da6a9ace7e1d14e000ea8f1e349305c4187b3357291510beed4523e9d5b80db014a39ec6dda9e8261f4a39cdd6389af9a86431f7949b90cdba72e82277e50439a9e7a157b505c4cac1cab3586e698bee05ba7056c91259232ce4dffb366bd8eac2b8f225863fc907b97c431b3290f362ffa26c4cef416767d3ee096f76fd030579f413cde57ae59ac959b78dda14c2c0942e75c0b9981b071c1f24f56c43b96a580c940f817086bcdc9414e291e06ab9e95e8cf1376cb313bab6ea835163c483c99d9467a2931b98b9b86a294018299bbaae3a9577067318443122d7377f83dcbb51429600d3f4ebe9b0d4b4c60c31bab53d3bee0a6bea8130b8f51b64566852dcbb4c531f463cb519e9bd716b483e912bbdb4390b2c94fd94069d9a0a13f13fbdb9528091ca1cf10eee00d8f6db33e0426ca1611c9136d3cdcb72a713671b85e62f8e8b4b3eb51f293f0d1fb801c1c4d99d94d291f492fe28ba646bbf14f38aca7728bbe5099e7ec339178143855667d6cb51c7719e9b0d8a30e28fee5c98b42cc86ecd2b0fa3f172a5ada809f189824264257ac5412d9ce95c9a6b92deec548f19008ece67413f67eaaf1f23c00f3dfc52cf3018675cd8a1fcd623c608a47eb1edba2654d0a6f7ad9608c87b91f3af9a173ca50a8d2ba783be14cc9dda9f72d753b061560f5b354f04644ce7f5996fb62e631a1400dbae741f9cf3005ab24d728c5f91b17165b5b37ccb035cd0f2d61b361d2a2526271f5602c83b7abea7b622d615de5296cce7ea67b862b484de57e170c1ad38ef3cafd89f3d8ec833e2e934ea78452754b993db97d1993b7a2732c567e63788e5f9cb3f6a974fcb2af5a9ed8225b5f1d04cbfd501837f8207297afbd48abfbbd08149623354f49f6b8946e9b7b3f04e75e246b6ce9c15333167f401a378f86a3a2c119fb6d1a58656866e463701cc728c574c68bfdfc3bf1bc7e1f55b66ad663cf86012ac0e22bd40bdebfe14d8e102fa72607efe515fcb5169fb5dd49986ca30b1b7151177096524615beb39345cca9f80a604f3c54dd239f3e136a4ce903f41af523ba90e38fabfc62b1b1f438508df087304539ebd2e67079ab094670efc65bb05a6af14d6e100426e3e5e69f6f3b3f0c42cfced3694c002231a91df77a7dea7a6cc05cff9f1606a9f8f64bbeea93380c25819a9c427f5429d823ea61a47ba91b931e505d22e136db998f633278164bb2edc34a636ddb80552e5825d2a96c76c358b932338ff3940fa85ea762e7c8de9f3b5c4a26698697e692e997256e2ab0b9f194fdfc64580843ffe985f7858dd33e57cc77a929555515665b22618eb10736e06dc46d6e1c74b6c7334a34c12c891f5526ee8b8f02b85c065f73222b71e7c8d69e95cde1769e1bba32793595a9eca6ebaba471d68c79c007bdbf99f78ddf976caa52da4692dd7b5378f249c9eecf164513006cdb41426ecf6cbb309458408d242989b16fc815f1632f9245f42250797f9d30f31f30b09aba70bd236025198720e84ebcfdb6bf5b22dcf88da793292c5b7dd34d46c4b658e436e0346de9dd1bc51f6f7560bd99ad5c040c63b408d9b5500c8ee5a4026e8597f97c474b29961a1edfc57b925cde40da469f41673f846e42a3ea3c37ddd0d10472c686c4f1ae0c4bbf099324cc0d4187d5a064ca7f0bb023fe548686f1729a7f96216d3d703fa2b2f2ef69bfd339f8623ee1ac94bd5a3a6b4a6c009ad415794a4385cccf7b9965ad06feda4c492688168780f98dbd09e1cd8be08545ab9bea8cbea4fbc31238389087b2587591e56a8b1868587fbbec1a11db0ad67892c240e43d1c4ed398c6936ef3ba5dc1b2cb8c7fe8d6b76302a51b1e6cd52b3c4a425529fd255df6a099f409ab178ec5fd9e4aa5cea7b1f5ead41962bccb33b847dec63090634185229e261f82ba517458074776e766f09bd9979f62d4310b00f6ae7a4405e565852c1ffecb413d59f412ca291adbe076c7e9a1e86a9bed445d09d751d6ffcbfe6ec0ffe514dd42fe3e13b627c358b504221ee40ac96179b79aa365723c814c96979c4e5ae870c785b349bfbfe068c6b8724346bc4d42737921fb96987b75b263f930ace90e46298a1850a24a1a16a4ba214ebe4b657e4d985570a51205b39d1b132b3e9faf2f1fc3961f0368cae645f743e955b55f44b5df5a8dfcceee4838953d28b148ec3f31e24357531f07af9fb4f9d1e912cfc93a49b6eac3723c457bb0a2073f17602207e1bdb2ca5da60077f24d1fd406cac2c1334c3fc03f8fd3e77e60eafa293eaa888f1dac5c2085db8448ae9fb5d0f87c30de088bea5fbb1103eda8ef0f4eaa7acfa108d31973008321ec5c6643b36296d71f3003a380f0030d67b9c63dfa2076dad2cb85505fc318cdeb73334c1f6baed4aa42c2c67f8654671ac965f0a7f1fdb6a0ff8f6c650b2956b39c9525120a956bf1e20926d99ed356cd3510b97715f8ca6a3c235bec99b280e54a2f8a77a82a2bf12cefbdc7f53bb3dc3fe4436123ed7e7e03934afb8ca5ff63692f767e804a4a6604ae2826813d02916cfb56eb9383dd00badb8e84eb92e3e49cb0ff9813b07e205d891c99c79de6237b1d1f705a10440d0d5246ef376643f5b4fa7eedb6d5a9c0496ec45e590216debb4d69c96403f7587c7b4c25f8324f6072e02c9f83dc9a037bf2125e99d70b199a1bdbba0ab5bcfca070c386e68bd3c93f72f6859c9f0eaf889f6210c86633678ff23d113fc59cc95843d48eacc934447f70ab6b16cdbaba3a485b5db16834e6be0d909293371934664bdc7a8be7eded37a9f1fc29a139ce8fe10e2aff117ea51741ca766cf45560b15563bc399a25a66837841267383f1c95d24957d23c9d55ad6278b5cd95af7f8644ba7804fe6078a42571dc6c6086b46d8e886e68cb14c71b9dc7e1c30a48091a9837b58b96710de745b04f2b13c00b7e5c7bda5f6a3bea5a19e0bc5759ec78cda7c7b44a075c1f981244562007c62a0795710608297ac83994918248a2ad4f420ef1f7ffd1f219361b077988591a0902460de5139a6e82fcfc638875498c7a82516f4b3ede3ba9d5efe221a8b97b403d6c1a000e38542817bf56e0efbabdc0aa32f328dcf77f001d24b769d4e42d481638633e4a9ac0b22b9f1a910293af65b8f7f3ad7c2aef3cbfccd216255e7cf3a7b8e74faec47cdf827fbeaaa771c6867cd824cd45fcf4a7cd8baf41b2efb7e406cdbb8209bd909188885de3360a49731d9ef875332beaeffe6430a84f34f9198a63ba1026dc8780fdfc90fc276b20cc23241656350dc88ce719cb713410ea6f38c45857dd0016952252daf9eea505450594db8d2afc0691eea7569f1ef46c32db778cabd445f80d7e1ea310a375c73e6eb8123ee31d7b795666ca3b9f31af96983f35c9343b35fd17e3386094ddcd1bfcf7eb98bb877445bda9910f1327ae51839f7638cd0415bf5daa9d78ee7459e4ba0e89e82117a94ae7c6d66cba3888c1af82821751e96e26ad7cee7dc8afa16944e8803ff154d3e6f58ae80bb6c104b23d5fa0cc03108c15dd330d7e17f7dad848188ef7c59355f34efd5af2bac431694fa593167c9816318923a6219e3b0f1f0988782cbf57eff90461a70d1d4c169adc9db39b46fe6231cd9fae7ef1e2f8e1f25ef46cbf2db6710bfda161670581b59631b3b47a68c33280acc9983dafbb76f0aaedd7673c299bf2adcc74a3ed1896c15a0875fe4697a9ee9d767291a3c652dd479a77e0b1312db13d8b5106d2089f0f8aa1296ce23dd66051c3fd39084598f74936a4ab260fb0de74dc74467ced420e87652d7f601a6a47d95180898a986fc69d5311c51eb79bf120af20a304d32533fedfc1d87cac775f15a117abdc2209a2269749327d9e93496201d629166611bd48a691147587bf7398738f1ac02f00a9acd12e9f0212348352fedeb0b4782af9e756c4c8fcd41b7f0609c7c27279829f40d5960658f9a0b39950087d368868b8c540bf0a4f6d411bdaa4a21ed39ce0bd3b1e1225e494457d74cf0df0387545d461d5c0654031665d724c52b5220a1cb0a15eb7fdfea9096b5bff0df7b0f46003573547082dc1c23698cbd414aba60dab3bc6e798884ebc36ef7e4945d482b8b0a6830f70e811d43061e6ef2244579ad1a612bf3160d9b8905166a58479123cec30af20e31c01ae6b53ff7e4b1081013ef835cf5ffb696ced9e345106825d8ec1f3ee9fb7de27470db0420e5a66b8ed93dfc579c3d354b76bf0755184da1a26d5b44f621bf12e905d78916308642604dc9fcd6b00ad10bc4dc33cb1d44becbee6640740f9fd55afb3bd0167e0cdeac2bc7216a8f27c848daf0d77eced786e993d93b90109615f993685357142eb6c840b388e56bd7778648fa8bad5f52d875d01df4dac0f2cf716fb48ebf8be054e2d37fac80ca94717bc2c120a7217e28a5fcc7ca43b3987b61d643e8381ee01987b69658ba70e2fb3467f3780676eef9c0867ec49e98f4ca01336eed424c40f0e5ae25b321c6d67180df7623cc7a15f49406b4d6b56e689c99fd55e00ed79b6ce6f859dd83b5392dbbd80df823209be2eb6acb66a136e6b327a17b1ae243fb7724f645955e1626ce4406fcb392953060627f659b109fed380ae777c9b631552ff205fd61168edce2cbd70992074b7ba9f20056eb27789f4f498f7b0f165aba71b806bc96b3eda7548a4ad750253478093b02e4a6ec64189925a30f5a4b367cd3b43c632cbbc718f6188215d31e347a5ca5dd4823555f59239dd98c65b9540aa7892f0307ba6b8334e38d5bf7f687c5df41ebf21b7d886143070e4e650cd61c8d082c9ae20ccd7bd81e29b8fb1b66926b7b70edfff9d10af2cd1c29e49bb817ef07d68b8b376909ee431efc66ba7fa30f0d70a29818daa59452998a515f105cfd5d3981dbfe1a71e1042b13c0ec656b2a7cdfddda1401a7d4881def3cde4259a3114d5c0fa9aa536778470d87918dcd42d5147f67818ccd545a5edefc7667cfd00e77f8f95a86cbbe0a9eccf662befc86280b3ed68b5f787ab4384d3a47728ab89a1863e4d7d69b7b75e82b93c4edef6bc8584f37739df5549d6d727d17e55875366f66fcf063ed885a4c7b6f759a014bc05edd4e4d7be06edaca68044dd083613893500fa138fe3a35d74df24cf37e609b2cf14c789ad989b8e1505be5d370fa3035de3849448f8e8465596cf389452693a6d54adac078c21fe22c7a2914d4b1195f09b967b4f1fbd0c91b1430c9a792bb45dae4e024c9c44582ee2903c9a37ca903695d6a1ce0b34b548a2d7c9fe86df6ce4126d0c70a8f21cc1f73858a45b29e58c11f6d7e71b5201f6b12a2732896ecc4a68f977dfd9b25ed81396600b5d4d32fc546c1f95a1b06a97c5c7f4123bb5fbf5b9fedbfb23b0594f08e1832bcd57ab595d4f19b7717b4c3b6cb3e2fcffbc6de6ba0e752d40513c7466d5c2c16ec14b1e33d709936e2ba148b0005442c5a136d3449eb5660258cecb3774660ac877ae2e68ecb401ea7e0f5d057157145ebcba1b039b768f3c0531e6aa58c26837ab59d785e860d5d7be683dafd89ec39ad1b9657a6b8c3a6f0383ab6e2d4a26eea4702582a95fd7b670d5b3cd28fd0f8cbc1e885abbecf9e2ec89043d7ea6c1bc500ace75e09c4753fdab94c1249bf2767b7442032bd7fde4237776f0a17426af2d5ef3be099f9a2683f6fd4837b244c7674ca47ffd43ca6b5002bf4591914841946e3c8d6b904c2dfd18bb6aa85b02395f72d99e6fde82045156b75e7fe3d8e78e1d677cb29ab387c4bdf8f76d8bd73186857e558e3465467bc91a2e6a063728f8982e67f1122fc27be997a329bba4c5694704385eb4a4eb9ae58e06d285b3852ff2d34d31e85d8a2e21fe59537abc8f8f3a989c396246f6246e74066f259c8b38a92408398c4a0388bd2c182e19f9b5ce20cc0808702c43e51fc34ab98b5718f6487858b7d86864a4f5483691875e2ac7c234734272ed6fd6b29bb8b69b058ada7d65d2890ee82c351e00105e6960a085cdae826ac30641d72d8ac39d3056d1742e273310108171ba13d4a5a1c6d31ae1f6878a272a21d8f0a11c987ee6e08e7b190ac44b9e7d1e10ed673588282ab6cbcc50daf9359cd1407bfc242b619d0cf5f5a59f6fb89268e96f169521e70df91ed0fcfb4e09321ba4446b8468be4ebbe5c66703198010f5e7bd82644b0e87cd6cccc04a2de6c0943181c74809e51e927afa024151b16e4d79f36acf79ebe851840e6d014755506aeaf2c53f0b199fd2a2a86114fb8b8765140dd2f168c6e868248c439ac47b19bec731145f3e200395325f227e26a492c50535d3e91badca9a7cdde1f132fcded50443e80354adc278b8eb785af2c90f32dc31829a6a97be8e3c82a15b03238a2504050de4a207542171b48fce771bd6b4274dbe5cc70ca9ffdd1f8dcc27f412ae562f73f00eaf0cf2d456fefc6a2735a24408a768e7da525e38a809e9577f71878210a5a8130fd9ce2344d5b2becbdb88e7f21a446ce2265552bf027f7ac8a150351f1aeeace24158cf4708f35c4753368fde465cb568490a95f41a980236023be7af61bfe613554f5bc94a1b2890d05520f5709c11a3931aa58c6a8437f522a4e84592249f023ae9d9a312e20f2ec714d5b6613ff344e3e3ace90fd04b552f341000ab3903cb975c17d122f5eb1f75a1b43ff049ffd543b522fd496f085c95bbcaf02146c327792e149bcf0b510d895450c9af1047253a40a46ff871b49981f7adc89af3b5cb96c9c9e53f6c17d6f814e99743eda4f8465f83da4131f84138f023c269c189cfb4566da9819ffb10be33b56443df1ab23cb11d0b091ba8b77d138da99a1e06212f0dfa63697cde6143a837913e751dccc784dd0a64aade5fe6ddbe3b911e643fd18e5377bb0df1e8b3ee2c5111bf1958324e43d610a4fb58cb21519a3cd4d62be94534764185beebc2ba021ca30a25cce990c7cdd62655ede4017e5907cffebd0307f440d89a210edb0785b3a194a6b16741f684978853d34831ef2d8f80dba9a958c26d2d39f9f488475ddbcfb143a2009b11df83bb745749cdb4fe35c03cfafb1fd49d1d8d006e60caeab20e67024aed5b9b339f8031277e03c0ef4e60864b416c34ed1c121757eb3e44b20efbbab74b8c1d35e06eb57ec0fb87ece9bda0806e757d78738025b8075b6bbedbaec1bbdcc0b41d75733e1fb25264de754ab6084edc0bab31bff90b63d9ea1a7a4b8a623a771b9c03c7d81226f3498f0f423fab2cf7ef4614ef9fbebd84d7143be5261df573090cfb49a9ccb97cc858b409299be37baeded9c390ffcf3ea5f4a6c9a827bd768c778af1c831c50d1363b60a5025fca642c8818fcfaf20a54975ccf899d849edbc5a1475ea46a274597c3724d473aa236076d87e142a31edc06af8a86b502c366b32b5d30431029b58e018d146a788a8a57db9ac55c954cdc2ceb8eb9a46bd21fd617028b751975028be57f19b8867ee897aee35e75b36b15a10bd9dbe6920826d44f05f021d39a3dba30ee238bb6b1fdf380a1bb634407dd7f89bdb6334b79dd94be7e16f023066cf63e295874894c370b22dac0b77aa4f4fdc361548f1ee9a31e00f68e53891aefe9570af8647233fd050647f4dac0b1e082adaba9a16febad82b60382670f6cbd8f2ee42980a13b8a0621e31bebcfa3b23030a2806fd3a3a594b477aeeb6c9f4f96a84c79be61129e3fd30b16bcae8cbe08db15c6f03ad7c4676402964a6bf55683430658ee9663e2cb8e6e71708d398f6d83cd45cbd9f21712620c4025feb38b689f8fb7c30b1e3d12fd62328968914d5f45aa844cf6fefde9e53cff01331ab6c16ff5249cdcbc6d80adaec38eb4d58bdef0ccab3d205aa485ec89c1d551bd3f34c035c0bae5f80fb6a9c7c06c46a7e009935b76d276da708f0bf6c9488321b36ef9ecbd86bfdea3806bfb52ea01598e160068b76ec16347cf1a96bc74e8c14028e32ba4ee0483ee3098bfade066ffff98a82b25a6dd07386d9c970e9106cb374538d0bfa6e5cb6ae677ad1e9f14b64db89dc0fe21f3ca25d8ae6823148a5eeeade4d807584d88df2d00fd24921ada35983ae609d9657b284622c538baebe25f2c359c1e99f62275bd578f565a360bf720eee4765aa6dc77e425e7577c9d0a6fcc0d8e1bdda49b3c75404e423e03b5e5d8e91bdc55b5ea17da04b56f1f5c5e79cff051347a599b698acba9b1f475f961c6ff6c18e3046610b9d01fc27c4020d745dd71abb98087262bae8cd338aeb9fefd02c98ebab7ca8b3573ae98af836ba312f103e5de887b42991bd1de2bf7ee57053f41541bf072af90c20332df541eea79273050a93b1eafb5a201af7ffa782f40a1dee29294639065bd68b3db629f664fcddc6b3608fd3dc53f2564c193ec89d8200d32663f66087bd2aa065ad223c236667d450e745641c291ffb2039778d0ce77af698ae76ff15f7232331867f4a36b7b3997d2011f9c18b00d19b8bbec2b26abaae00285b573b8478fe465a2ba17064f5f47c9703c432c9634cedc55ac6e75c48e12c9def3a741a8f2782ee6887a95798a9fdc75a9e97fd8426a9610f793b8717e7ca6e47edaf9a765d254a4d7b00165b266b06032549162d5f25e4a7403009f36b0efb65ac478b5f21a805cb94438f055466de601f278394adf3f3cfdf3ced0097801291b463e523088aa3670523477adbf8156576636376e37bd6cbc2a7ecfd0b8c825ad2885e98c252d9d12bf34999a064a941db2303083e7476d19df0b07fa34c469409d5f23d8e626a497f358c474148b28721d5b274dc4be2e3e3760d5b9394aeae2d90f8bc7a1a0c58be8e12718225452c137404173a2f28b1df1c3fc95a0866bf92430d1b5f22ea0ba68156e092115d0b5ea38efbc6dcbb6d64acf900f61a1f7dcefc7f108a1e43f71ef3daea939fcda67c51665710d317c1e84d3f34b1b536413a06ddd778a626d99e637559e209763eaefea0a8d49c4b9fcb31015edd8746f65168b0a0b344208eeed3af5394c4e820070af7613339552577c4f0ce940eaf3cdd14f48e7cb968010b8cbb9de50776e65b4cfe62779adc165b649fda08e8c4e88c34530b89d6c6ccf1545c9591f0d0c39b73c779c9e6303e79ac4f9007542687e34102160dbd7a74f88881602b5ae672e33979873cc4d9aef01ab8e349c7a39a25a77769949ee03a7cff5eae3e2b8dfc78a03cb149ae9b5ee5b42065ab93d0312e355f61ed0ab416055af3207ec3ba802643b36e48cdf2e8368a52f9da489e5ec157265fbedf4d39f73045ba20e71551afc3ade7fbdb0abd91cbbb5c9e07a47e510e78b6a8800e848073618ceac567acde6b0737aa74a95f4beab8e14ca115cd47d14579175620736a2f68a942e59b4e4f90c9887412940be33f057b62553fd113f155ec3ce6a6e5d0f336cb166ffb9c8b91ab2afe67b6cb7b628221ebf57ad46f17e194b8a205a2e8f5edfaf42c086a38d1209cd995f207c7d1ec31e934780a8986425357dee6e59d178c8f6b1ea7058f4cd82e6e6527022bab64e56e6a2b2ef7e573225135e496468480b634795b84991d6fadf170a350f87d0346925724801033f96276e268c2a58b4fbb6e255b82e144c3ab97578f9e8453e218d8af09f59f2deb80edfa48441a5423a0500d55ad40413ace3568fc28d562ff8cffd39404acc57adf40a7c767957496871ef6ae674684d8aa26c59671b348405b0f122905767fd2fe04c6c6e177a9c41a78b219e8174b7c010123cae0128d5dc01c755421eb4c778938384a64034c5d9247dbfbbd7f532f7c5eefcd5e129f873ee2e748ff9b3b4faa861a27e33126107fecb1da4dfaa266550805b34b8822ff3f5d22ab57e32d420682552856d94f25358f48cfef9a8d564217044f6a264751711701580ef5c21059048ab0daf282f1d59e2aead591b7a2bde54eace77e21a25cb0af3dd10c12b93b8489f36ca9c331814847fdb1853decc255eed978246f6db353e16cf4b8fbd83bb0175dca03a2ef5bb588365c96c50f567dd4a770b7a914fe8b43626ce8d66f426bba8836e4f85cefbc43e27871160e9f68519e5fb024e3fa5d7434f4a70b31a2035d815b625db12489c33dd348dc652d875c66b36d93d4eab571636d965b832ba5452ec2342ebc0327a5af8ad2c4001f7bdac47f749b249203455ff446b34c62c5fa9171bc86d3a9172e5ebf79a3b059038f4cfce7c4f0ef4ee28c9f2527ff05efa383a6e5d5b4f1426a8fac587ca35c39cbbbf5bc50f4c6260aa4d6148b924f3fbd5ba456d1dc170823b8924ccbf0da89020221ae1fc2cc84a54cfb60a1ffb09b3c02f8319cfff62e4eacb7cc3fec9a02bbae86ce9d452d9b8635e67a129a62836231515033b1272cf2cb3817a87020e6280b3fddafefecbcb837f073f9b785c741a5bd7d186cc7b8625492d6f317a54a5be49b663ae0e369e2e35bc3fee3a14879298503302c212adc95179360afa750ef396a7be12b945b08fd2105023a8e71f4b909e9a171bc1c4b85b0133b2cb61adf83ba6c2a3a32a524f8fefccfd4617d1f4e73862f37621cb6523a20cc4d0c510d9508ae807a0a4e6de6354d88ef490cde9bdb1cd0cc2dbfc78131530bc1527bc111559590750bbbb7a01112ad1654646a77de8fbc71d646a9c1898f4a527b5eead141d34b2eb294e3d8ec77e79e41a528e7d8eb9de643e3da7cd3667e123ba80d44fe50a5eda2928e3321162b90f51fdf2425bc1189260a4c923a6c1d47103bca6bf1e122de80b487ba2c414a257e090756dcbce01be0eb7e12a0dc4fab756c08da9f2f51c51593083cd11e5797f799e59f417c16d97d6fcfa6dcc4970c41c870b10d0d84b11ca4ac2144cce3baab6b22027addfa08e4f6ff31e6fbe151cde56fb71265586419c399ba7f84511b611788be5bdd9b1e2ec5b0afc10a21b44c048e11ced2b430725452cfd41eb16db90db30baa7f1f79ad5ec5872cef5b4a5aebef5ae0f4a5819009eb6c1c4eed42c9b14752a7030966400ea30e99094b05c0c129dcf6f0989b78e0f9a9b05790c71ab2914c80ccae3b2a738d1367c7a06872202d0d603bf9046a72b508f3581b56d75955c41eee18aacede197d197512100ccc67c7ec30857ecc0c95698e4ea94dc4a1f18032fdaf617dff9668032f69a975358b0325247c81605bda19e450b1cce2b981c3d4c6dc661ddf96872ad915d34453a40ca51dae7bfb5b686eb21ae87af5c6e9f57385cfe5436b5866acdda19412774e8d361f8bc904cf66f468e2d965eff6de5c7f4ac447df27a453449457e6081c558c7ef1cf5664cd6a3549239f87d7e696d694d33a78b27a94ec5a1c29754393311ccfa728dc8b97a91b0815ff405976adc0de748478f18bc0e9f60ef7f60bb6b7d801689dff9e3b694bc7d50bb8d98c608e271195b8fb8c236343fddf1e117b4ae7754b358c00220351d86123dce9da4937a2276e9452093eacd47993d3f3d1a5652a14f3c34491161d0b183cc06024fbb03065fa3dd9ac8fdaef16850931ccc9fb94a297ca8e7030e15ef64b2c3b6c1ce0dcfee333ab6caa187f00f015e74882f1e117b7b60f80b6c6a415b452f1515d8952ac9c9735776b5e1b83559d243300337d7aae0837654c5e588739fc0c87f3da947c9792db80b34d96734d5cc2603037e5681eeb6f48b3ef2888b46325bd73f365c5dcfbda1504fc86ff0a4b92f5076696dd5f1c087921c174a652a0e3cfc0e68a7caf044d56d3ba06d9854df5cf5d6dee44e1d2e98ea74a96a6cdee1140d0fa7ef64edbb193262cac7d31d0b92f1be715608533edb26b279ced03f88c2a0deffd3f936b283d81d1d1122aad81dc8bd5986d6595864da5ccc8978b051072c785b6f8491cf6af5a7d8b5fa2b442f976a39e27e36bc12219b8864f96b79bc9e7f15892ee7aa89bab0622f6b3efe9295980d658a30624da1969d6a281ac7dab5d54a0b101ab9ce1d13e8235995750dac795abb3d2fc449798a5138b4694476ad9f4ed10983bc690b25316a269332e50154ecf5bb9007fe33bd8205bcd19c3335a2f4375cc3e8ed9e53a2871f2538d7215b4033a19e15acc4f1b9f1d5a3b8bef22849e8f5baa30abfef773cbb484c30da5f71defc2f1e8ae334ab4798e38adebd1df4870304382fff7160a6a214d3f48d2150fccbc396cefec4c7e16298db5832da1286865d3e75c8c30782cc5c02c9d0b27ff7466923fd0cc5ed1f84b23d6b81c3f82c74ce0ae2f776ac1052680b97eec41adfb4298dd64d93de8fc0c4df8dcde8842c2e206352d8e296ab6ca31d0b10ba593b0fc2c4ac155e8ea7ac58db1be3a74682bb69042deb632687a986407d992f15e0c27263829971f38bc65ef226a8772df45bc3edd7359a6790a2b2b3f9b8b3bef2fdde3069db42158c5d892ebdaed296c00b5b8a06a691de5cfdde7ed4dca3cbd4282736246f5e2ad8d5b00ed6622080dca94514fd9bfe4617289e8b5b88e7252c2aff0d63ab354f777b783a02f4f54dbb31cb7e2f03993e7d9f881dae4941226c05042358b04b99be992210faf83657d5e7af95822ae301741b91989660e055dd7fbe555af24c8fe206834199abc1060bbb86e1bec8e13c4e12b19af976d6a7c4a74cca4f5c9a16d73383cd9235f94a466766a9942c51a5f0e1728ae36a646ba0c4e66dac2ee67ab7789faca831fded23232a16e7a83e174fc924d5e79839d07f516c30830e12dc3de298237070afc8c9d2713ee6e3558e589fc6c65eaddf152ba46f383ca09d7ee4f91302409aa8f6faf62febe71101082cb5bc077198fd286a17e9b708cfa02b8b5d7a54be686ec756295f68fde1a6b9f458f1ff337c89c0fb360342f2513d76010b158faf9c19e3a2fb8ac7aae7996cb21cf8a6a644ee595c0935e7badb8a56ac19d9c987ba5ecb463e9516e724220b7d204be1b193a5f27ea1f4f103453f6b4a0b84096ea965ceef550cfa25ed4e0fb88698e9d2160d0aacd1bffede904245063b3e18135c2f7b1af38317d2212935c2b194f0a60714ac5c00465081a9af03ee0a1e21bd7c38fd6d1b02074b483a80d61f6483523fb44410daade3aa69768de33a92c16c9bbc6280573d32dd28378007202a0e3d23201a03a3228d23309ec95ff2677157301bd8d20991c3940dbfa085942ea7e79f05cff7979245b70b515ab462936785a1d1ba351ab518aad454fe18ac016c367b91a8fa09e7cbb44b4ad51d11772908d384aca38508951e3430a318f0ba0526464c52bafa20b529f9cc0978bdb9c30b670872be691e646e82d65ff16ea9b6564155ea6e9f3c58dc368960f10ccb02e6e3a430e2b6cb51c6f9f2a032c79f4333a29c80cd6f161399fc5e41b84774cc3c1826880e2b2dc107621e823dc430a5dde70ebf2b53c55bde3953d85630d3e13fb910dbe5c4038362936a22f356f7ebebebb9b44aaa837b35d70c16a46e60bd7e78ac0830048dc52a5bb9dce281801af712262adb00682a95328ac0ebbb90df0a10c18eb3ef98bc803887b9fb85ca553cec699febf6583230463275f53f0b0e78d6378aaf18abc45dbc923c91b0384b6d37c8becad221436b5d956c3b1dd58f982a2d6e2a58e141fef47db62d78ce36d7540db492e6ec2cd41acc93d6cdef9a2418df8b9b9aaba2fa661baca82637639567891847a2ae3db4d27631009c6db380dea263905177393f10f9c8fef677e10c8c72a2ac78eb46d48a11ea011bbd3e9f4bc4e1c85a8173b0228dd956688e8d92651c1fa071e9ededb2beebffa89a790fd8be149f8c2b31166bad3570bdc6448c045133b07f173c6d1f20de1ff8fdfef4d747d90479cf0f589b20104241db3158d2b38900074c5ebff9a66394f9f63eda41114606a900f4f8ef967bbc3de053d38c33ef7ec690b49168c8a7f5f851a1a915f432d281818c511b4d20913fd0125532640e011df16bb797557a99414948125d647fe983adb853b9be77ff9d256439d6ee27d14dd8da4de16ef0bbd366294363cddd1e771597031546c06bb498b8855a92ac5d469053450d7de0f3d69b2c256b3850b8600aeb8d85ad5529319b4b49466339e0815cd9bcdee7c47dd51d6160d049f3d70b37f3a539e247fe1b21b4ffe3586f68b4f8c35cb80ee0c1cd1aeb688fb4ed4e53366bf2313477c04a8878455541edf944242c5963df66249e86b7491e2bb0420e217eedb105b9bc531e96f9abda53c0a2a10fb0f3a06348c821c72d5dd382e7f36859f42b2a6a2a37031c45921df8feed631d36b37f33ee0820448fbfac3535a6eab126cdda6380dbc60af05351589b19d0fb0a7ae54205558fcbb9b92f89013d18ac000c0c47ab95466a9e56b8f9b07f5f4c0bdda4e24803aa64312a90a41428399ab69491c71dc4b91270e60e744476c36333d71ace8e2e69c9bea47c0a3393364246c8e51c117ad5b58b7d25b5868b574ddb5f58d98c19e90047aa325d447bb3808fdbbd632a6765ceef3bafc6434b28db3c1a6f9642ebb042220f08a82758d73dcefac3fad5b054a817f559bc461006aea071aa1dd1dffade391f98051395f130375e31abed4205bf4b55b517c93d8cc9114e30cceef67b7973d024461a2097c646d2252c054523ce7681352880d9293ff0548118621441b5b6d53b42a4fb8f755b5aaf8c1d5dba44d720d5c44d5cb8b19e44a20716cdc327fed6a1da0c7dd8cfe092779f38867e02e06829499c04e4325bc480bc88b1dfb2161a4c90784a0b8e4b65b6686dcbc7108ef7fb64b5a2e4001620e00c74c87f84e6efcffec622ec356e11ac660487f15c1bb823f556a10973fbf9b82586fd7d859bad089f31920c1ab5a9c3eb07de11eeac88cb1f96d3b02239797595c25b02ed95311bec553d64ff24bd8ec6c0447372eea8d42d4c2c991d13c35a998995e12a12d5fb4fcddc9ce17902c9628cdc261711963a4e0c3e786a2721ee4681b55f51dd4dc15b39aa64117a9bf6c5c9e740cb4a3953d61ea56c5979bcb0ac2b09365a2703a91f8e27ec1457e2f616f162db24b5df82f2f9497ab864ec9f851c7522742f584be6b92136451d159be444e404a56afb7c2bc089e1dba2c13274b30aded0d7c33c2543a09d5d7fc7fbe1689a6ab856bf6d8a810e70a8559d75015c38f6639edb2863f96da486e9479dfc8e50561d8f10fbd4927bfeb173413ce0231e3a613a0a64b29892f4dc39f1becb0aba09af54e288e9aa97213cd8e84d84c302f1384942df118560a2104ab98d3d02e8d3519bf2a30d80917d199779a47bfa1a9e33d91cf719d52e86286e53181f47e0e6e0da4546871acade755ae4517fba1384c4dada21454c7ac0685dd685a616c30fa071adbd55432f48d626e79a30eb59d48064473742165b5ac8f2fb5917d4300e99566e8152b53bcdf0bc64200b8db3ef678a3ad826d8f53b8977936e8486b320a3569c475ddbf9759393eb2d2fae838240993fb0c4b5ca2152b65382c6d61d1b9715d8b119add240c4474f07d98ccdf30ecbd0e9a33fbf3e297292b0a2d16919142f36aef096575d34c0784e6ebd5f2672beae9fd449f4e703e08a6fdbe06f9d975d3507cef05b86edd7253e303e4e4efcd0a3de0cc030f50ee17671603f3fd92c8d00053d806dd2762f084f752156c91799347c58ce7690fce33f202a93b274ab5ba440412f66f50bad795967222f9a3b58ab2fa5c5e7ef1abdddc75875739e5af41a3d4d2ab26b9db195a2617bb5d78ac26630a23ae090ef8de91bd10a4d224e65b5f758b069afa7325ac3701558ea40bc35bfbae6d4b6885d5df6d1742618ccae4adb6818dc8f22948e71bf13f920fa2ea10464fa4f74117d920a65967e76aea3142b63ef72875824a0af48c201983d4450258062789951696c90deb182aebd96262c22c1f62610c3ddd9c2c6a8c151d76f717ae83825813eff9aead8af17f7435bdf816e8b278356c8d052739e74a46f3a260ebf6db02e69c1bad23d523dd23eba06a2f5334e95104a673263a9b7d7715f9d840011ddeeb67c9296f7bdefe002299cd8214f7408f2cf847851940140d403d7ef49acec5f9e3b34ad22f26361b39cd37efbbad39b331262b4318dc841878edc4a42db5ef5352779812318803b3128b68859114920bacb6a720bc3143ea4c2ebb48160cc87f9898a10c7940d947b0009ae650ca83389f91ca846745da6a6abb0777c18d45337a9a44809ce41fcc5578addc1c3aeed4dde272a4f62312b8997f3ec16a696678255a8eabfeb88deb35e3deea92d01f8e3ac939092502cd2a9297146b0a76975f8146bdc6312b539d61efa697ef682224bd3a64d5d1a6a75f77f6b673ee08843aff852053d51c4161b0517c4ca9306b6ec6b1316eecf411848507e89d9303d5b50cf0beef952378210a466f6692a84ec71f78b29bf26722147794d19143a80b75889b64af2690632df3c88f5c19570d09be520eb5eea7ef7f00face3134d1b134889abdc5f8b363b0dec85d88f19d13b7a2958e91887f6979fdbe8926379f24ca2116d52b22e963d3f0db7837681e115b05f7e6df3d76f92901030de4c79519dfa037c618e5b4d6fd2ad3807a318a132eab3735597204aa2588a7c70b1eaddcd9a95210feb0b604cb0c653e49913bb281ff53ef32e970f4fd864defa7e4e3a550ca7d6ef23d13dceaa7c72f15ab5c8a80c219a214bf332c414c68d0dd93d04842be7872a86db5b36c0b1cc6ced5149879fe65fb470d75eb2c247e36b4c6aeaae866e86b7438e4451a6a2157b50fe1b6ee9ba898a37b947d4d8775b4ba088d0ff8db33e06c181e8f98eff75b991141435d4c0e9eaf1546de4c8c27a0f79d9820d354e3fc1f2d1e606b024b83770a915a20e2b3762251c8daf1162d32154a69042084d1b268c9f08cc44d6358e4a337f28d3f8c8d6da7a955d471b46e8104d493b09eaead5e4d838530047d2529bb29db6ad648790c62712557e3445e63eddb9d12a5a38dd6e3a4f43c0ed6d45b11bf6b5b1ca0d4fc183a2c7e9088e4c521e0a4de62c74537e4064106be3176822e45379c8320ba581b627024424c9495f6024eab0f01d9aad2ed8f5d2c9d205b95bd7a6f314c1b4208a25585ce69a4bb98b83441fe25ad4b6fba1196a83963273f5329d3b49c7a3f3e8121af6975dd5189fef8f82c3a9f4fa11ee8eec74323cef1e2e9aa2abfa0ebb4244f0847f746c134baf4d6ce93884cbe33d6c424a24fba0f3deeb372a5edf150cd685402fef195832f8ba3815865b88cd49aa19627199667c21abb67153e28a42d47e2cd805847bf044f8cf85a76d5257f035ef026c4b24ffebd9ac049006a1c323212ee1fa04d321f6db04ec04c490c0dec2aff9ef603d321d209e2b67c4c0be39902239e0c2f766cc67278e7c889b4463db589256a51a22ab878e25a4556d1f1554c27c6c00f26a51d7793a17f96fada56cb7fa0ded93aeadfbe6be7db8d50fc0b245739ab02a608b21788e57875cdaf8d8d4da5854c4aee180c5566a0edcbda59e15d1742dbafd6ba09623180206189db97f46d5708302ff13628abb10a1d30c25ab43664a10bf9fb18851b07511267994f0890742f4ed6367ee6e00b8aa85af930ca1ec01d7a5a277f93db94f6513bd3f109e7ba4a2788576524ca13ffc7a6fc137381cc26312f76c3a28afed4a2cf59dd2b138341025e29600919020ea7feed35e1812ecf2d6b99bd6f0f41e50668d8d0c8e441893282aea86c1cfde64af23c5a105388b3f55ff6f4563c4e42ad459dd19845a775e9e8698114b79c08062327456718f6bdcdc9e542b2cfabb457425668dd61ea8192cf7bde56bb38e2b063e524b54ae5b9529234f6173b01ca1f9d82dda53386d12d4cec49d1ba90166b6d990724b9e72eead42be4b653ca79826af731802264ad9a99823dd88e9761544dba2054084e1dc6be9272a90fe90cce174ac4efcd66c39e164b0b4e7db16d069df513dd29c3c928ffe149ecf1ecabdff31347cee273f943d3a8cdf062b42a9c8ffbb30ef2a0babf62ed941ad1dae3c85f3ddafd426f94af9d69a224bcceda848e7a35d67617e9416ba118f0157319c7d328429eed04dc0d11f374e3feeb3464f4f9d11edebda1e79f52592183526c8e129ebc76405067501013877c95f0d2feb2fb127b61f4f5b31316f382deaee7b9f9310995332112baaa1bfb33114677ad889a53e2fd0e63b6fdcf6dd93674a29ed1d6abc77075fe024c7a8190323caea49f9d9e6eaf8dc143713940fe27d8f8bd67ded2f3fb952e6582febab7bc072061705a2d7bdaa61133142da55173d24d6aed4d475e2e62a5ba6abdabbe39f995afa232ebdee48e94444c48f4e60cc7ded997e3b3807720a70942c4d03516219613bf4e2b31dc74ff9fdd0e44531313c31716300c6bad8b7fb7bda2b26f71d2ca4c3d04638356414139d7e716efc8b5a9c413a960f98d4345250a10cba9af480b988726d4a94e4bd35be26f5c77a6ee7f60a96d34cc131f0b4b5448b932811aa1940f57c22962d8b1e90b84b30cb4d28026544f4a3907469664118389cf675df4edf83edf1b3fda3411cd5134ddf863e2f5e4c0a566aac54b0f439989db89bb20a8a93ca566ba74269bae1df95d13f8aae820f5e46e57c44719b6ee42d88c00085922df00f3976115b9f8fd499993fe92c5f933b5a93a43aa045f093228dd3e7c5ee89683cbf2a8a8ba4d072fd5dc0e19148fa29b6b5c232deb84e2c54f7f461d6a46f14c28f61dee4752a7de06bbe37bd43209ada8a9eb4930b13f570b123bdc58f6a1097f3ce2334519cc95d67562fe9036d2db62646ac23237227833e1161d1e63eaf0c09e3bb97c1a861e0310eeb8d6d60f2477505cfab9e02bc32141ff2acae81349421f3a96ebff24bc90080fc105a5022ec83ad6ef5a2a75433d1a94692e01905ba502378ef21f38885880bbbff56831c47bd91daaed03950ba3c5fdc2bddcf9de607018d0da45a85e9a2793a41e68737f90bfd28642bad6a56e771f9c9a45b2c822d2d12c57dbcd508c9360035d6ae19faafff2cc2dcb41444c9e42e6d902aa266f1bda99ecc524f3a823cec07da0fb74c60881b3bcfd8932e1d64cc2fc8ff8272de2058afc6878a1b7ea3043424b5062a3e47e0f4ee07f8659a67ff103868252ffa32db10c8b0d3054767a244ee874a95414f1a7e68db5a672e9a47b5760b45b56c246b26fc1dc0bd7abac7943413d5b0ea1177b5b63b4a800979748ddb098aac84e0cfdf496e7e4827eaa00effb067f74cb813f29d497938a7a838ef1b5520be06dc79c16983c99dfaf3751f155ad9c56ed460e554375d15d5c1a99a390ee9fda15d464e336d04f9134697226c160b498520f0285bdd65773124700ed592e9af32a1dd654d02390b38b820b35259d8ac71e2a75cb1cdbac49816602375fd47e88ba83ca08b63432b068e80c7a54d3eca9f149685246eb927e3cea7ceec6f1cc169bfc1125e57fde296548f2a21c6399ebe88464a35757c1ef1c47ca8f07efe8df74eea9b7e00d69372de1d8c6c8f2c360e0c246e94f5b412756ba58d1ef21e7b6d998d9e1970225331277cb0d083f755e48b7a7310f6a9c781d556a713137f7d67af68f53b5112eae193c5ca1b682b0ff4f65132b6bc65c3993e31633e5adc1e77266235230d123d357ea53e3bf351af6038d3c7b2e744df6eefb4278a58f52ffc942f668bc457827fae74446c12c37b7c313bf2919161ee72daeb1067ac6203a46aadf28b2d15e3a6ca26814b6a4fa0d660ccc2d2e4318f5e04722ccd2a0b27e251f1e69b6995257fa3d69b31ee34a1a6f495ae61c76510afeab00ad64e8e8090249fe26f7ca931f7424e13cf37996fe165ba74b84bc8055ca28d30dfbf6381e70bd79f3a0626739fc1d7a8e0ce328d81a0ad13b0dd9c2c47f42a6e7b1217b7ef9845561332eb16b0cf8ef21a8af700618879a01b69a2e6cbd5d918dc24fceedeb9411b4530b0a76819a34a76a534c60888b09cf86aec576b7e638f7b68e943cb5b72472b18e82b08909906485d7a73ee5440614cfcd0f906d5e90014560b47ab1e449b31d132bf8676e3a1e7ec6e3b477e2aa1f3c10e34429ce1f6a66556421c873e45669af2215513140111ff23e2ef64b1664c8cf1a1bce86cead957efd7536ca61f19d01d6afeee68a29a0cbabf18384b3436400e9db2d28f33457c302e527f351a7042b4406d1bc9753a7eee6ce68878981438a6e3aaca271fd617cd4f8b5e9ee6dfac2e9acc7e0f73041e8d06bb72f38f6b5d89d49d5315fdb0858ce9fcb0ba4528d92a85182200fb7ede499ac0efa3a082a0c04bd781f26888c3abca85e119a939a9c3109f6a1df4f662e8753a6f992cf50c3dc889cd6e983ace836fc13bd2522f6ad5c2714551c3706295237de890af89e2ee0dfef862cf3ae57d484f42035badb17b1b97b277bbbc09f7abb28f3f533645834b26dddc0ebb68d9d06a5a4bd82f2f2a3e14b316bd1158f634cda2e1af0653a9e51f24cf2fa88272ac8ec4f15a06fa8947d8ec6eba819639584088a1560b9acce378cc6773b47654bb65b5ffca66246d7b8fa4989b321c357915e429a74889c3336be4e6e7cab771c07ada32981872ffbb6b8e4c431dee244fd1fe9b490d3153097b210168b73da2c119b3cff4a40daa1ea5bd8549e287c9760529469b95b8e7aa2eec0d45c7dcd40c91af0920c316e780637bd7afeb8ddc39f4896c993262218dc6f4a2c5063ba0935a6c317aeade19eadc78960c3c237a5bee37f455aead6117ebe2a8ae82a3a9ca4870339efdd036a2c422334032ecf0dddb3d2dac200d0a3c8a5e9161fe6dbb9200e7568a4e16b3a8e9b6af649ef25b4d8f20f188d92cf720273036a89d6b159fbd2557711a4b0b8772f720a1fccb15ac10778b3ae4d4d1b18bcb70d176b671b5fb2a10f0d093c110c695cb32928018830ba628adc66561de7ae74151e6f98931d3b3213c65b4567752895c2a5ddf217fec1098c71591fd0f91ecac0af2c074f1c5e41ae07405a2280cfd649f3fca4b655a7c6802a34993462de0dcdbce986abe5637113b4313d2b1dea6b1be40220790a0b3d066254a0a3c85e5664aa9b62673bedf39ec3205d5ab38bd4ec4435ac7ca46fbe63eae1bb8993528a86af9f3fce39b840ed235a75dc32a6363b16d931c9b47275b08008d058f2bc34bd6c9bafed51992ca7fb39ce74f48888659850012c69b12c7dd0fe36cc693ab585b6d1bc5adc037ecb8652be2c2c974dda55998558f1b16c63a340556d10ba273ac2f3eebafd5f565f36e997803fd7f446c5343d721b1ca6fe002acf780b027d5f50e989bc51f92fd0e9efb2536e39fbe8482f6838def4f2c3772de867aa3d0cd1bfbe563b48e3df35e26415ae48172f0b1f1a3d8f192e603818a556d47206a164d11b39693988ce72a2b88adf2470362a94183fa0c26eb50fa16aa43729b0a3b2b77fb136258bc997fd9c5c602465638958b06feffd049f95669a509c78b04919744207be4700c618dbc0de68e61cbd53dbc11fa6b601eae7edab6aa2eea21169f5a727d60838ace5fe4b6ea2a16a56a7a3656b2f4d2bef486d4c6d3f3a24df7326b7b98d2b4e1e462824edf4ac40f0eb7daea9ee57323a86c040ad8ba00e704f9158ed7f1d7d1c8621a6a350f5a182f990af8b26f7e1626fa0a809db905e062e0ea2ba1be792fb3cbd50ee389af9350eed4b9aaaa572e8be575f88382eacec03397991306412cdeb60160e035d5b7aba2398a842b27357bd5c009b0e8a8023a3e9d600c8c3c300d66ac8f6b283ac76b25d5c2cfcbba0e9add1be1f6c85363811e4b0db8835be59f58bea935e6b7bd8f6f892164c4661a4757d439f07768a9c5de7ed099550900c36417e0817fb274f3f381e84b68144275f6de1b5d3ed45f586a22d53e2cd61e4b813c1b4b056430b0b4b53dc44b48695a42447e1785b90b4c429342430fbf8f120ade7713bb3aac75e3015864185e2c2a73c5fc6dbc80b3d05dd4c540b8bf2149422550dc63ac083f740f32cb1ab4ce24d02a39d1dd08c29714552a1089ada4ea232affa58ef185302b55e30112141d544bd27d821dd49143978d71c01d9980a15378c8fa448a0b18aee1d5fe242d133e842d17da50cfb8076fb5000a10c6c12e4893fe0f42b02e887c1545f459416895c7b99dfa926fc08136897bc1ee8ea8ff0a5aa3234b0a1862f159c1933f57e5f062aaa488a4b9ef737146d1a7da6eca81c61cdc075dee7fa4ca1855cba7ab25b6b467a26737c44ce5cae75dced98938a74202a819752d3db53885c6dae1ccc1376b7b2bf0edfaa50e74605ff49138f8190527b4e6c981b86bf113fa2346b76ce87cd6de6b261c520057fe8fb9255d963921453915be86267569e031c6a2790d2bccb1a86dcf6f5aaab39e1f4ae824f66ce3794edb0e73ce30e7dd223f5c254f4f25aa9c9650f1e2fcee6c3982ef00cd0c31390f332b56307f0cc76a934c841ab36b371f0ebb122403aa8ad98d0414b1b4a7a6bd4947f8f162ccab90883ed6679fa4eba58d0c749dcf91ae52c1cfef69a74f412b0c3672bb134c28bdb8271d08d841561c852435e1b3d24911d13ae4b6b5d1c8c553e12aece9d8f43310d5d514af4b28978f8ad890bb73cc4b69fd5f983f8a36dc967a05d5d29a51b5b8b0fc94a50bfdd95222ac4a4198cb209b6b975ff32a254db8bec6236fbd58977ceae6220b1d98242f9b36a4845c73c6a774e4c5696451a048a03fbb7ed95eb03e301d856a72cdd14db63acb2ce0a0d2e34a4a9a831070adcd39d4ce7627368066517fafe2c579ef2076dcab14e70cbc20d1ae7526d8483679c492ac2fa4d6caa724e280dcc2dee802824079d162f7ee2d093ba2fd7064695273ee7a164467ad296e751b7fda5a58f6c72534956a6c6fea366984f868e8e3dc8c59bcef09ccdf7a8c81385c0aa4b398655130d0bf58905691be20bbde4ee18a248ac2e8744d0366e81911f32f9b2a4e6ccf8a6edf9879b38339f177581fa3eeff800f1f4e631ef7236222ffad1586b16a925f5e333e33b1acb6a03f249f72aac75bbc71abe425511a3a0f4049592d8d52979954b29e6988ad869bad9df2f1c5cfcad9c6e4bb2c72ce76a50023d7298f01d0b42219a57abeb3ad5f53dd24a6d04cabcc0f53a99fe3acb64646d1edd25f84ebf91ff8a31818d99e1613a35bb818626c8bd43af2c497f4875dfac54af9f4a558e82b67c95ba992c5541385ec3b085c7f6d78bf3c45c82daac9bd1ea1738b75d19b49eb1b2e7a144123925764ece9efc2d6f634a265d5f1a042bef96fa0c8778007ddb67ac7e62f300218a0f013afb28ff060eec583a5d812d5a62b7f5b62354834d57abc4945309da2fa7b6e1779db2e4c9fd0bf108e6191117e3f295d2243c3f94203667ff2d7a90d3eedd68552e4e28902de2b839ab9cb8ab6b20a2ba6879607c0cf4bd529fdedbe8f51d1dbae1ce37dece41eb07fdef99c2fadb0f68fd5f53b3f61876ad2d4158be048068e266112eadb6163ab0c1989d177aaf6d6d3e0a357d9f4696e1e20c48e3dbf7db4881cdf5c116a4115e416a36985d612ab99520e7be34e42bdbdce9551d336bc355c87f492fe213dc082cb3c580f3d5f290d93a79e98efbaf5092e45edaf7c5e07104623292b0afd724d4ea8eb3ae49a2bd21ebb72e3fb79e97770d94a3b26e14edb9e4bab8a0438872f521d78c2a9b7797255aba05ddfc583a13a1772c7e75a32c2bf44400860303080347dda1168512c60ee6cc7be7f4c2e79e0aacc9e0dee19502872359571f044c1374717ae9d02baea74b7857b00a96c2e7a6c7dacb4456abb89aad148f9213985109de77231734276db6ca32a439a18b11b9dbdff82c8b2b2c31cda5be40334350329720158244fd9b68e01b72a7921fa05a2d86a1311e207ac4c52f656b68510d8c58ff497b69a09d3992cd4132c91b7b0ecbd9913fde50bdd223a8ae2a66b1a0dbd668e126f0ec71459bb5744c9faf7762e3a0df9ac9dea652c3b379d5f40d452477ae9a19ffe8917838ea57b58d30a81ba9ea6c8171bdc1ba7e8a9577bb0f4bd9fc870e3f8cf06f850d11180b030f0539f712f7017e5e4fa38e46b23ee259ef9e72b4a0994b6b519e8a9cc1e8253b5b028524115ed8e802ab1a57818f52269fb300287b5cafa1c357e1aac8c1078829198799f22917dfd2ad902adcdf9800614b32cf6b655c2aaf92ad8c8edd450e73d5f34c6b63a4a6babe8cd4ac6f75d6c66403aba367bec5a3e3eb1d492a40afcab06a6b67eab37f9299fa61bac967fbe29ca8f6a1259ad392e9b6c4442ee8af2bbeea571478e5c8f91f9cde689a01d7b77eccf1a911fd6675868d6b56cbf5c5c14020821547837927cd22c881c1ff8fbf94ee1fa5b660c9ffbd3dd966a22d59be3a35f12cd8317f607303bec030b79c7140277676908299bbfa27c2f35e9ec857fb45a03ebb47bbf8e1d7b536ae06b34fe413dd5e246b23c369028c716db103a43301db715b24ea25684118594835e8a6b516f7b90aeddd63665a67855d626c1213cb648e123839144195c40f8cb7f9c71200f0f0bdd01952e8adb914eae30088d968b0030584ee6234bbfc8cb8eeec86108d3a78b627652253750d86f560251f6ac1e224f002b3eb15c5d8d4b16e70c6195d79c42d6a2a9623a932613a36f3110ddf8ed5f50ecb3f8e0af86bc5409bbb7b75be9cbe4f59cc86111a4fe871013453f84ba59cf39b702c89a80b56ddf0f9a4b86282a1828eb7f354465d3901c1fd2a13c837cef155f6112a42ad0746d946bd2180d833475e3bcfea262672a89c5b67c1ba138e8effc521d916492e293f7a9d2de1078a579f7c4b86ff56f8691f1452c15b89a919957e566d97da82e636c344f4f84ebd1c691008e9e04253d140ef636ac99c580351d89fa89f9898068ce55762b1ba7b364c324510ab9f6b0320f05648efce3adda4f75fcb8965dc86d9ef0ce8b504cd1ee46bd6a1a7e1c6056c81c4935f04984946438e44bafd21dd3ff43308fa80c33421834b38a2024e8404f52ef2ae59ee27d705de8749d44ff00793a586ed149441b9533baf4a217f0b38a47ca81f4484147605fdd6492209594ce9c3045576b43e847ae3d71071d25e96a2c57024282588d222e6db68dd9b2c568a818cfeea4ff394e82bc836a402e3a18ba6e51e5312e2fd3b7dd1ffbb5367e7200d30d3bc326d28af980d9275b57c6e232168c7982a029b83408c959de8be8b7d4f67ab4c45d0f7fcea285038a6a7d4ef9f65c06dbe2c35414f2f29278ec9caf7c33e6783018c9f706cc0995cdaeca1bd73fa4b7c58c4d7337fe519859cac3100dfd52447bbfc2288cba7c678996c5a7e91ccf473013a043730a69860fff891cf32ba7bc2d3e1f48c40ba73047c5f3ad30e970590766039abb9cd93c12c97e8a62cef3296af31e373162baf7e3678b342bf4dae8179b1675f5dac00dda172312261b2f1e18e2583ac41a9d5c4216ef550efcfc76d14ab5eea410cd65977dc8984d2a73615ddd7343646eaf0f200c8bae086b5769a3466ca7fbb5c46eb4ea53208a9ea815299371049172facb32fe80f4968aa480ba53dc3c641c3de38543e3c2d154634f93616653bc0246aa614be95b7eee20be4c1fe1d99e42193cd5200a154c324d45c32c214beccda0855e2346a0f7a43b3f2d381127c60d5e318e572d47c90dce51c1cac59bda278fa08bcdffaef252802869b7a031d4a4c0ce1eee41b5e07a174a3d58ac1a0e2f76b99060bce98ef21c92ce44a8b94eb6b473a5341fd1e0c930a3701755d8f8f911cec030f96197d33fb584d74a2a9641a4b10e52920986d89425370b7e2089c0c255f039c96cada2deb09dad5e9c80e504e77e13bdff79ea665edc6796f77bd4e3c74013459dd3f0fb394b877a896eefc7c5e3395fd944c5a83028f200b9fd6291501e14703605b73f2f930bfded3906b8733402f29456cd3aba5e10752a0b52954cf1a20a8e282c8add1deab642351922ad304ef0d439ae22b4dd556e8d96a287efd4343604a647c135b35c8ef363d89c2c2fabcf0d60f06eb42a99a94ba821c8072a39df3de45d133291b6d7c4f18e6b4c1c1651c7822993d8b6243168da63a7a4b80d08ab12ad43d404e4f265b426f82d89e9d91471c28bbb4ebf6358eb0cfa35854a933dbe807ee37ec86cf0b92c8f42606b19a46e11844b76c5334bf7550bf43062a69577a37615e6d20a2c3b0002037acb7e2fa4661d2e1fa5c3408b2e71f6f14fecba0ece98df418dece00a2bb0b832bf8c416e5758c1f872c8664ffdee968ef8893ed2c45269e2430bdc5a1f81d4f5eb08b95977e5830ea1fa4b7c3bab7f15ee2d1492d4bb43d6dc57eb172d420f70429721575e477a3ffb5fe83b9dd3a07a54644f2c06d4e8d8bd3ba215f551ae2667ba24b16c4cef50d4ba817250aa42a827bdfc47a559b06d15542d0e80a244475caecb439fc2778a6785c7d551796da57c74809577453f75afb319d8c9a4db44043cc29f4b56cc743d4f807b4548ed628599f15ed95fb7c1eff7b6118739a42364fdc0de4ba6cb921e9cb3a2838c53a4de74fba21ce10725c6a284e5a6cf710117edda46f9ecc6f45d7bab28021520f7975f40bc66dc4eece8d250e20d734593a1877795c02028085b795141518bd31f202ace7ccd0f91bf621dfb43f00370ed3c0acfcf9bbd045aae3b3b7fbf7b2f50522415874b33ad2fc9af86bd6a42bb2861e68f8a16aebede3a1a8832bbd747e3d1db778e929e5af5dbe7f94483392f337280608e5bc9a8a19e934c90e7dc4cf8fdd410420a83b7ec40005500331969f57ddd788726d5b319665d44e4c795bdcf90b81d58c3410acc688a1df7ae1cc8e7a6874fffef7a62b9c48d88f7970ecd22e22b2ac23190202e6922e009c714b13dab468818f06d0d97d6b56a6f72824a408912d9176b148e2623bb30df84614762918dab2145ec29b10cd775a67e4b2016736d6310fe876e451e9352b859570a92cc6e3cdaafc5f2a3cc3cb7465e6e87e740656999dfdaa73bf48616e8924bf33deba89fb4eb61c9f192ca556272dbcec5e1e4c12d319f42e157cd8b9309a0663dd5c2a5fa9d919447e25ba1112cf06b35dd8eded75608b8bfec474b05a60d2770180c551f58c2d87c4b19d8f92503e5472ee413ec7cde56e28f99178cedf5750458a7ee2520bb47bd3ccef49e772d453fe5f3f62e9f86012c96a4ea608fbb542e394e34c284ab4fc5ecd0d7f422def9680c2253388e78722e7fadb2b379df2b1f3858e0d39274a78a8777cd8e377c93e5cac2d1797449be03150ce8eb4011092c103cec521902f3a437f9ff01488a8ba5751e5fbe4f7c47f3761d84ae99c815b26c832ac03f870b0652aba9743b221c9dad2320290763c7ca114f2a64c0485377820f35aae9e82e7d04aa2c8aeebf0e0e0ce44e8adef8808500c5c7be7fcf2db34182248a6da7daac405ba15fbadca3b85651a75791e32d16d358df97a872fc24eae9b5bbe1fd629c531fb6af10b894b56b3add0f0c56579b981953d2a5f4569f341d53470d8ffd61fc36421645e571a5b0c5eb1fc9c08c22572a236c2d35bed128f386f8204b2a7e75778b11be27f70e0a5c310ef68caa1a2ab4c5ae5e4cab0b59215ed9fef15561dc71ddc8bd6370a1952161f0cdcc98d7a842f71456f601cf8bae690b0424a861beb34500fc21f67a8d0b91e0f70ae30759f514cc9e0afc24f679f09131e7e357775a6e978756fa9d9c48a65b692ae4fb10a110b9c7fc12b1174fb910d73f96d108f538f0090231ee07a62ca0b5fe6b4d2302bbfda4de8a7fb870b71cce34d06455e827c93c2b6dbbc14a51cd49b18d80baae2233c6c19f16536801edfeefc9c999e25c2cc1a8ec77717dee942f57be0aaa486b094c34e12d18b21fecc49f4d6073d7ac656572266c951fdc4f6cd86951bd4216ca7d063c8a7c967e0b12c05506d69282f40a8f48e6a5d3964081b659aec398264da15fbfa389673280e3edfa0d457c6ab668025122c634c940599f1d04773949118339700005f36628a5b42d984baefa341dfd953b736d70b3267e3c46f84374bbe4f6a0dc884dafb9a814d0e5e2d54842c538a85784d85649d04ea56f56d5446efef00017061f419648a1c87af9cadb5114f98400ca95695118fc914a6fbbe115c858b33e64f28c983bf9b3564464cfcca46d5b9d7bae8a7e4067af4b8de3f9577bfa2d7f5cd858a1c0c316e9e8909d112bd77d598a4be0582c3b2574825d5c799f72279e6a6c541bbf7e5e76d73254b131e423d897de406b5b84acc486716acce82522054674d4b67841f94cbad0765a4e1f833cc7e75313ba60ee8ed7a2d9cd025d3b7a97af90b215b332e40e19219890e99c3de267d3d65583cf5cf63504eaaad8947a0d1509425cddbc38ed8af343a7d140c896d139adc7bc003956d6037023ead2fec9d4d4ec76decfa78a8f858795b9cca6e38c9dfd08a60ee77ccada979c781936f943e63d0000b350eb4cac08f9f76ff346d36b54bb7e658b9f719b108450134da897d39bffba6ad1b325dd21e1a38c794712b41b71f16089f1aa812af7abfe3b67372be6d76dfb8b34a4fbd24bb9766792418b7f3ef0e9bb0f2adff2419cde00aa2b422d763d83759bb5c19ca784d8e1d6f9d565d28ab63aee86754fd5bb9ada67c56350087bc3afc3cf2c6b9ac612df14684bf7e75fc8236e2ca23b088620cfffa43fcf91f7fced02340749bc13cee68d4b77a13ff614ac95856dc2707e7c40bd446a9cd34d2b314773fcef444dbb5f7b49b9aa686535537e77384d4e52ec4195038fd51bd0b10efb0ce857d44f2afaf97ef2ae623a6b862a2937b7e403c94b39c14f14cd3459ca1564c3408a916cb14e6f097f80b77a38b900b358000a03ba07b970b9216faa9321cf5e122304b53e6d0fc1c767dba9b9523c2711ec22cbe7e53338214229a4cb767ef746479073737a506884d421a08d4fbd4c7623aa846438eff32a2e0cf177cca4bf1bdec34efb7af2ddb8cd4d44b1e7779950247e1bd8b680df3e0cf6015372f1a782a16be92fa6443a23216e6a79c6c59393153146c2dcc316f3a2f8ccc5dbf8aece5b0e138a44f79a487a3e327482b6daa9791bcedfa4c14db03cee7256beed2a7fab6d26eb8bb66e43acc703cd4697ab10bfbab9f9a2c0c8d1ad3e88dfa69ba0b790db48be707ad32154d68005762b6c12e9c56fc9e9971e61fbc9af4c5448006e43b8b9488451f1ab429f32a0350dd33fc214373bbf24722e81a01cb5c2ecc2779b77ae933d565dcc42d5537d05326c1bf6e6c03caa4b48af3218fd497c0e61e95f8b5de27479cee6ac138738bc87b20c15f809304e98f5af626e4b122e4cb122cf6a2f8f49f0dce7b1a88ecd73c249d375dc63a08964e8a9fcdd0c9abb2b033f980e8fc5ebf318ce62d5f6652b89ebfeb6ca98cb94c88141b23fd6405c7f48faea3ebf4b014b4b687ba596ed68c8404d84c3805f1ebd1083963e0ee5621517ab3c7fde65c6606cef2f4c78720544ae356a99b0f5c7859213e73def8bd2c06296fc15e2283cc1d78d8fd9d0c568c03712ce5c60ff459f57f4bd21d3b247783c8d504c7c3bd066169c003ecd698d854f55a77a7ddce161cb4efbfe5b4dfec9bd999ccdc37b27a7ca33d5517ddb543f5ede59f8ef9db903b88524dc0e90e196e114a72a7b88c68c212f90f543db5d49befba764d7542f09f518f234155db1ce4da45f371588dab6f4e4a4be8e86a9332416b212467facb6183c0bc8ff785de9bd89a119e06883831e086e36345e31b97bfb2edc6f84c4c540cdbc3ef16448f725d9d3b1b5949e944cad8559400cf150879a323508231fab77280ef7c967fae333e07bd60e3523722cc3e1c3c04f83cc68c45f0bbd1039cb7d36055f59d8ab5b7ccd27b0c5357e8e5ce857c1291a8ae0063993d0046e6ceec2a1389da06739bb20d44d3746a9d914903f63a52d3781c8ddfd52cf6ac7d724e179d9ad43de6f6331fd54e200101463a7061e0eb010caa3680f1a3eda45de777f36eb29650906f46c8fa42d35e1db49e89e83571f817072f24b6cd4d628a74cf8217377604fdd6b21536646478468543cc867ecca4795748a2e616699069ef99e053acd4e0b7b6f97ea091946b03f6ae1b6126866c95e009644ea976282450d173e8a228d0a7f03a1cca5740748399dfc630f3a2267f1282b6460937bc4e4ccc206236d0403768ca8aa843a2b4eb959fc1098984d19acf72f4ee901813e6db0f582d629b9ffe359205bb6558730c99126a5f893de2ba2a7fdb4eea3c4166cac0b1f3ee3b2939c65d381a92dde7fbd037c633425f67396a1726052751f26c1a70ebc9449370dc3899040d8cd6638eecf5d91de9de73d3dd2d45fe7530cc89356dea8ef2e762621a0069c87dba4caa4a8f1f8877501bd30acd576c0ebd6a51f25fc29d6cf7de0f101811c337f953cd77c5daf9348f8473258690889613523e2fa16f1759295fa03500f6f1a51a312f8d812092aab0c715768cde9b8084b9ab8e4020ba342eafd454740e8bcdc38da3201771c46ba753243f3042ca85990a253f8bc4e9725fb9bdbcef350878d86022ff2460d846e536f996642947ab59a558041014f7be59b70632ad36fe3b79fec02c50905f5ccbcde842c9caf00b25e7632229dde08a65e7560f8d23782d7c02610edb313d655bfffad38425ccab31506b709da3cb57d09e55831202464b93c663349e2902f1d39bcf837012c5244e333cbeefbd659a55376be1e58b6736f5a3e706d21db8b2bc8765ada5e5d0084428adfff69a6c94d18a6f6dec90c23445481564329d9e16df0bd8de65753224eb4f124c3ee9bc26d58278046da2b7050015bfd9143fc2506017154cc031a033ae634e5cbc9e1278029c2fd3aaef28dc138676deebb61c762f53fe8543c74e6b7d430eab186a896ddb21a0740c16296fb562625967925aabf1e35ef71d05e54043642ea00ca746482eb4f8a5e867fba866e3faf6851a15e18b8f4841a637e4c1013cd87a766d7467a132d07c7d8c596563af2a80ebb11ab9a9c6021c74b2ccce913cbc7a5158840e21a87ccd5d929bde2b545236dd4cee5c507cf6d593db0f8e7ddf9aaa92906b453544388b823ce2a31b606cf122069c78f22785fafcddb8a7f453e76239ade467c8d56368423ba073a35cd42d5434fb6ae5cdbfed653ac15b200f38bdef995273ce260a6c01899d469e6aac3fa914abc405fe89c910886af7f145c7ea6dbde1407df91685de6e5cae0b35e8812334d25c62e033e4a4b1c61e9f81cab7bd9b193507bd2cf7a4f654c184443b0556d19d0315af2b0c2db378f358d59e2dabf4f61888eb57f7752c0ceb0c888145a5453727b016493e6d5f87c584491dee721669169b456e904153f6c15ab892a91ccb2e810923131a32f36c46defad63f5382b38247d690942703ccc0f5bd4481aae9d9faa11c722af5fed9c3869ddd08d1d99dc15ed52214be4dd50e73f9009e7c4905624e950c718925d98a1eb9a4030f4bc24de91fbf95ffcf5b1912c6d0e18c235636590f3bee848751b0334f99b4cb051d9d30aa4eb6741a3886f87e07dfce40014f22f4b4d406d81677ae3f6cccc41a8a95e1de09c2a93f7c6d17bfbba0b3bca9b88131f68228ff68fe73a593d8e6cc78454c7632ad75f59d0aca423b9e2087ea00eb0ea0e2b0c61f2252cd08d0a71f72233fbc74562ff5ef3449baffc934f2680a3e6fb217d6832899e4403169f654c89f951c5816c5a50588b71a0d370261b891326527701c6135be4ac089761dc4cded6cba08b9171e6d6e799767bee8ef84e67d4dbecf4cf3dee36fa4bbcaf4fc90a2a0dd6eb4c3108ef39f4abf65e445327889b17a28a4d57f8b993f13f6093057ca0aa6ef2026f70a77e17a31ffe308aa0d60f51db3a0fa914a7c8d4ee14a027f9db7542ed650fbc19d6ba5e2882a5d10f5d7f12183bf34220bc4d0ba38ff6cbce3fcb7e4c0fc323e4e31cf57afb7af530f5c221b79089d0d9920da00d753daf513c4531dd221d8f286ffbe63657bcc39dd149cbbd47bb3b570867c21767e2c728dbb956b4429eadc31365fed86fac18c9b72a5b525f4ac438fa21c9933fff19b2bec64d2982b008a8ea73bbd91e42e00c26b1e4636eafc0d443108b9a51fce1f507a2f82ce200c71005a741ef6b6f9403e96f11b6bc2863965429fc08bc84d37cdfb13f82f61a0da36d23fb5c2208c4c2fab8375da50995f081c35dcd4e3ee69a581e93ae815ce75a844cc51d96963e7c8d841c500d2395183e3170ca0c6286a26de905b99c45f32d8e84bbdb3bcbef462ef903e46bd04c581bf7fc19a8088a3f3b082758bb2ad0a0c54a65eb2cc62ce376faaf63b90662f3062a9f14a0b3694e4f3c606213ff0988aa6f2a56cf0bc64a46488b1c6383bf58a49811407001d53bce199729b14701996412c082d6eb7d764e83915cc28e06f9ae1a3b96ba86bf480a5a9fae93fa4ffdcebb011476356cd1170ef0aa4c7c9cf32ec109be1e8f837d4c9dfa4e67f12552f20959e1e163f70eeabf6f18b6d0d2ea0ddfb11bf714607f22f7222876e733abc329cf6a64cda6c72060ba80daedb5197ab498b59a388eec40aa4a52483d956a1d3ad602f29c8fd35f079e4ed278b5e3e4b772c21294025e35686e771e132376e85ef1d7e5fff7d5b8884a223ae699c2f47bbae2f90970194388e4f6b54d5fe73e7145e56eb452fec8db2b33bb299171edbd5cb8f4e1c893e2cbf5e2a42f699de3cf996ae6754acb72228a70f52a1f9ae77d9f5c79cf1b6bcd55472bcc8efeea51f8b28bfa40aacdb44159ba4f21afd0e29fb6b9f633761f60db44defb8d8e82c11ad379827ef4b1266cf5d9c4f2527fd6240bc60e952814584730f941f429d66f1edce474258785d45700f8b3b21e7d100def884dc71fe56b871c7b86d3c1864cef28e324efe37e61949859fb46639a70569d138c12c4bd29e02395adc175bdcd777fbce00c87fa930ca4b8902d1cd0fd54bc2e514b9675b02ff0c266733f8f3c64cda7d5d7f15e0b662a1f33276a79cb8fce3bb3c1534ede21f12625e35e0760c9e8f38461325ef0e2939cce396d16793421cee37695d13f08e39a060c9362988bf2f8891c8e15002ad35453c1d4bb8fc911f9f88e7774055b37f24e1a9dc1b7c0b820fdf7677809ac6e1bf2ffa79529a1341f6ba13cf4cee1214e5ebd2ee5125060578a1408807d35af5651873554611a7c6c51f0ade5ff7c4510656b6294020e5054836172f3c6cb1f0d3e07651f71818fc0cc31a51dd31a93e923b555357de0f9e8b7c0bc4897147d720183e5902122d8f428606283d39d4f0f0b908c55598db467d2604ff59ae7516c3dc73a51a84feb9b283f8e0b40ced224111821867161e662460f1588d96d7116af3b3cc2ac9c816de544182dcb98ba3ff6125cfb4c37aecc44b04144738ff90e7067760b43dc94a0cf86f299846c2e8ba32a03325845cd0524453d9f976fe0e3e99b8016a3fb4663bd6043280828054f1152ff5c49444195034a7d9dce69f3413fe2e2c482835ef69e414626bda1f9e7f2b5d00e1bc513e752990c8f475a80d6c6456c5dd99234023af73fbe4e8a57a2eb2eb8ade4f97f9fc428c05a5c12c9fdde0bb76111db6bb46c72b6656f06ba5d6a07ca19828a46aecd87e44dda0017d9cb324cbb67007fa362aa43b5b42ec5a1ec9908ec55b22fd522d8436a49163f225d11954d3fb07d952ae93e50c9b0b1436fb504baf6cfbc5754b96f689e6c781db5324a23633247bd164d31f2cd32409bec7230b3ff41e77ea0a34056dddd670ac922bd3fcdb52109e166e4765cdf195425a2700e6c100ef34f56eb69ee3e9d0915358bf091871f825d3fe5d40b040616d74384b70fd2b86fbde493eb840442f5c2dc1883e60ba04664c1408de8aac745c32100464f61bbdcc8874ef0a0d38a6a66db43e1c0593ec322ad0c77848a093bc0fa818af15dd3a0c4d40a413f847f74975781882e1b03cbf1384dd63430ba08bc7a7ec5f8d15e456769d41288380f66c655c5a821c80af8fab67bd5102023e1cf35f1bc57e3cfedcc92de7e67ca7801be87bc1eead9f7b4402054b034dc7c29565ee456b08b3ece38de88fa2c3f24a3e7310bcf0bfb0a4d9ad258a7483fac20c34056d4c6be603c15731444662af68b627b9493a146837700cc29d1c613ef11435d964df93b393b9ec98e549d9947114976526902e57a4800fe9d91c14aedf93aa88f303f646a48063ea1c148e4bef40973dfb7c44304abda690615a52a79a7015acb39e5ea59a7e82cdfebee6172a9241d94fa2aa5da479d79e9ca797eb7bcc8b4627a083ad6cda1326abfc92b48aecedd117d8b9c941eb360ba2450a3b34ba7c917720191712a2b375a6c89d84ed97c20722285924dd32e01f00aab5170b35f402c29ae3f5fee3d9e035d905669f6ce56b176b0a8989f1c5a56c9c6a54800c64e6dfe6de9ac17cddba72889b93c3a1f30af275a01657220dd49bdf8e6f07e7c7e907692dc51824f535e921fb22ad3b478ca4f1935df5283b70d8fcfd257bf190c970a46a3f25d6944798d031eeed7b8162fccc32c1da085acaa6e1e2a6c4c3e542fabfbd3728e49a4479a3dc7a6c6be2957ff531f364ce9aac61ba26598fd4324f6c23febc891efeb9ca5639187df13d1c708db44d1887a0600b48224087457e7af1bac8bcf47d2c4b5c7a45162944f95971c6a7c63b3a4008e6e436c8e64db9334e9efd8c1bb1bcad5b94c6d23dc5980302052b17288580b195149bd0eb5fff60f67b20132393af4762ede4e5ccacd5c1fea2b081b811ec10bfa1c647187c9e5e49cebfedc10cf2af639a7d8e22edc9d77816f385484ad80d1396de9e09bc148d6c1db03016d1f118fe7410c8a243bd3dcab02fea25b20c4b4f5bf02cfb53c75adbf7db791557e42ed1867de9aa82e7ea4b67d70fc642b8a44eb2fa922144bab52f16cc911db10e008938ea2518ad4fc9d8c6d8a8361d729157a9e39f95887fb9154a27a56cc9ecf4cd5383cca82304a4cde8f21a96e951c6f2f775340dad6895c6f290dddf053252878957424750515d7adc37f831b83f3e1d29b42f0c6c3aea951a3d513e7f4a56682ba917e8380763d74afa2992db733028aa372b978c88fd7c7055334b45184855964caadf57167fe5d177f28049fbb2c548a807167bc27220570dab4c87755395a3cf83786de15043a89a6742756bdb8c45ed0553cf215b2f9d076ff6a4f5b8167b5f7e67357cec529512ab021ed7207264b1449bf55d7df0a48f45d95182f1bbd4458b67e9952e8f10c3513b4babe4d2005ba808795a65c107ca06cca93de3cbdb5a386f9c7d4f892c58000554e9e4410434350dc546e50d11bfa5d840bceaa67b2bfb8c354d0f36d19e96da8a66ec449a4d69affbed7ab7afa92f6bcc287d4f283e43a19464e9f1067ce9e65ae1ccc9d79ba540edae4bbb5a3ea7ca0e1659a7c7a2201ce1471c6368e384ff34cbf43e581186260470b44ebc5c91d6fefff8b10667706aa74727bbdef056da433088d68cb89fd7a35adbb9413cb00b19c5b783f8048f5e42ad7e1ead650b95123d6609a03428ca6313a31f27c05803cec465632105878d70fed3abcf605a760b85633e546286fbd4803966e0e3d2681bfec32d59469181f540a13179c599e90c9cb5a7628a7a977ded49d80c348d0f501f9f54b893740178c9ba846d1d1f4f9c9a31872e4472aa4ccb5b6c211a9799464521720e49e245e78510b46848dfe94da1a6f386257221c5aff348c8313b39703c7392c8d759b2f4b1c1b93d0a86c2b4be4da95554aeee39b5f3e7f400292f4db1d5c52ccd118a5747d5f872937260cc5e17449f7724a465611b07ee7187672dbf2f44d23db05144204c24eaba4d8eef6477c7cddb77fd9b80b3a4c3abc2f0b2c4b1bf2d9be5cdfa4be2dc4469c1870efccff03a0ad0380b97b9842d5f699a3f13c05def67a5223ec184508ce46a8e79356e40762c511ec520cbd5f3d0c51b136471122db76de283b5f77487452923cf66b5c4c286e1206d8573bbfca078c4cc9b8a7479a4067316fa05bfb213c37c6d1bd13da6631c05c7b4e41715eab96cee2ffc91774bc4fb1ade2bbb7d10ed2db008a63e11d458ac31e99e82d82af885344ea97631ca709559a32b8bd5bc57215556676dae3513c3e32f18271d10a02b891bc7c903c64ce456b03b77830d61efffb3ca29ebfb4095e157d15d9b9aa66b6a610cc1e1b57130e4f7689e9263779c19a3e94216ec46e131c155450aaf8618d24e15cfef7ca74245801be43892f51a2e855c8f6457890344da0d154c12516399ce0b54968d4a79e5e3e81c64b62026a84db816f6cfcf523f4d72368a964b91e6aab2c999fd1f0529c3edd730bbb08e688fca47224547f3622e74521074742984cb0e470346ad0931244bf579e202316163455ef7be6b2fbbe2f671bbc7e30b86e994a3af24e2d87634d59d34c9ba68ac80c56cb16db458cf8c5c691a05b97209b4872293aca085cda361df88b1137494d43c5ab7d92e2f9906291f3f4bd10027b875226452359dd16a174e15f328fb301e222644545dbccb7d75701787cf45ddb7fb07cb3c59dd38d5273c5d0064c10e0270e818f892461e9443c2d8976b2025637a7c7334fce05d50f3280736be2c40890eec5a26bdea667e50e11b8f1a609f63de67787bad5d9f726b565f4d2ee24ac4d7eb72508c04d324a61d09fff68a858bea87e138dbc7317b7c6818a449d7da55e45cb222e96d64e2cd1fdbe98179002b5f9357a552982a375251d01eb5446470a731fda110293ebbd8d72c8ed0b90ab672b87e679046ed4241f75a9ecff2930b6843262d9f64b1734679ebe805d3a56a95d34f72b718779016ded91a9573b1f9d40bc49f908b471814b17581cbc3df98df3ca322d3aca9ee9d82a082d862e2adfcb0c9528d5f8b44b690e59302ec838cacb6fe3384a51da09485019b0ec56d3fa117180af67564108fc368316da9cedf8fd3a30774ca0f01f9d79933c8b5b0d0e14566c5ae337b952d8a86a2b23edc16ebabac0d2feae8f994a3835884ec109698b21afce04f1f1a9e57eea601d7faffa619d85b0ec842c66d46da14e6961bca2d5a49d9a4fbb441911f599b51b62e6d5e7dc89ce8a275ae9d0643739d77f5ff52f4a23e7cdd3bb8381ee63f5c4d1938b3fb6af706138a6410baa2b9102fae063b6e64a505993c6e2581d39a35ed43190ccf9275ecb154461948fa24308de6be99aab31e2357748eac48ccf5fbe90926224769210bf5a33ba16f148ed1bd94fea186a5ea0d127b68c6787f2e34d1b79e74d542bda5546f534ea1f5b354a96ffd0c65e591fc3d513d72244287a1fe9a0fe9082952b94f4c4b51d6562fb7a8510702098ded887f947c0c585b52d2b1c5a1a3bc3947636b3017db228d9902f75615102664efd953bd9c22dc187676d19585d950b8e739a29b2c222c8a3c29de97af11debca645ca2c1247d1117d4abd718b5086f5ed1ac1e3be4b1babcd5d6cb93a83e41355dfb9e3242cfcff8ee9638b122196e0ccad844660b90c16850b1112c27427334f3e93f1591a69ab6a4bcd781ccf718f92a40782e05a8476bcad816ca005eb23adfdbe0b088cfb868ff7ae7918d0e3b41d9f8b64f987b2aec081b9d1f762ec0d1e343ef9138f20ee74543eb184b406f13929d75731e765d25329766ce090bbfcf3eaa6d4d63fdd05d603649df3be6edc30e680661014169902a507755c337e055d9c7eff38a240bef54c6539984456e01a434d0f61e85a63914c7b570e3a96add9401bcb7a8809f858aa5aff96c0473e62e7dcb4f57ae365bc16681ddd82de78d607d3c0faa014852e5d902eedfd5755fa32ce1087d82de5fae8201bc1a94d7f6108f771107efd50330ea296717e1b87ad550437842bb07e9a076933d8fad6be255f6f9ad569606fc21f31b47c5845c3f58cc987f698f123e89a5e2b468ca06ff3522df5d821ec4fac2d55c38c5f6ae48394eb003ac144d469849323b2bce5666186141314ca247203e47fdaa604303cc158c96bb6030e5d1281a4b5f8142cf15cbb5d4a38eba6805c669c05a9549b9c8413c48f603a64eb10637993129c3fca5cb1bf3f211a805bd4d3780dc4adc7a3204c5f1d1fe345186e28196118e96e418f286b3c7688aac11f5c531d7decb7cdae6e2344b3a0e53d1b7cbe11b4fb6106e31c2e29740a94700cf3f6df47531e5db4499a5bc28d61e1f7726d014279a48ad3180ec097f5534667c7c9ab39db1404d5c790ef49fd590cf3a723820571842182275955fbbd6547176cb7227fe44e6336c26c9d32a52011396c839ed7c6b8a5951cc9555803aba74963832a3330ba94cbffb4ea2d5a11603246a2c783e78d09f02f8b2dd145e0ea5fa8099fdfbcc5241d6603c6052e97537ca0a6bf1fe6cfc13d90095afc771e604e7ee4fc8815da5f9edc84f65c060ea0759bf7735c1a4d722af3980f5150f9094dc655ee995d7831d9f1d1c50c143b1016636a92a89565a13d0483d3bba16beb18901d72ccd792e3925b4bbd3083c3d58b5bc97436f7304ea11fe2f3b86cab5d79b8983728bb3e14284cefa786f3e2802a35533fba213485feabf163886d81d0cc6f3529ac69f5a4b041bcde8455c3ccd51b3466c63029ceb5db7999cc09049f8cdc08a07fee4f56bbf0fe64fe6387810df9662293e36df601132c102c60e3d5473c9d920b0d98396ae044f27d58b0b02a6ffb58e6d1f834df0209ea452f56c9e7fdc2cbb2c45bd14666d263af881d062722166790835130259abd94383f073b08d411b35011b5fb57fe43d3bec67b745f9afc7530ea6f35911a97171bcf2cb7d38fe21af290316104e5a9f5a299b2d3baec75afb58a4ea786578f28c886a8d343766444e6561db5856ebe6f352aa2348b392b3c84c02c7205222af1be65956f2bcc309b272bf16e8e6bbea22e0ad352243a5a1a38564148f5080e522bee7babbdf1d8f89c9229c1fd2f29a90a48da0cd3d793eae67ccd400dd81e79669cd78125bd4ac81608e885d8b977c4c6d315c51ed600134c732f26de4b72d5499f1a1785d4f84c6aaed5fc69566092594d0c9ada58dd2cbea5772a88764fb11db67ab0d09e29272a5dab67b549fd205ddb4ca5bb2222d09ef898ac4315a516749fd64e56926a2220c6cc7b2e63ac7343421fc6c7b5fb7cf992ddee786b94d8b96370b1902cf77592ea9f42034232ae981fe0cf415557a9b9e2064de1789626f914616b796c83e1f0ca205c68fcf6a82450419362bf6cd28399c6e3e505a4384fb5c89085f05d10a0206e91534b438a63af922b1091c79079caa80fe20151b805e5548c9b4ceb88e4cea0da006896af40bbbd1a9b29fc771736d355c48890f222f304392830773a9fdee0ae1132ca857352777ccfc3f695fab9c98f32076a7998fd3bbbfcab80aa63c3d0e6acc3af78beadde229ec731917b60e15cbaf55ffaaef5adda46fcfc63120b4efd836ede2427a0d0434391ac0e3b0517273783083ad58219157bfa9348dc8702a47f05ee352b5ee48163c27e9d5c1b5ed7d7a22bacd686bbb678bdc98342d0aeb0e82c97549779b80c64ccc1c9045504a4619db49610a0bf794945bd52ea8e91148f0ce3fbe595a966d65c0d6dc330a2ebaaa62feefd922d608317c7e434b4d67e347c7138c0f7f99a806825c6d4c1036934fb882ec39b9f5ac5bbd8a779f22a5b52f188ed66d8820e1fc6c5f05f3bcfbfd497df3614e6519c41b0e5ccff80139dde5f86bed12e9a5661220b1bb935e952c46ddc06fd8125ad94424fd91ec901cbb7b071c9b30c6e10e70e8aedcf5b62e21136256ab7a44de9147c0d9a3418d3cfaa473612000c8f55df591f5e1a174080c4c73bb9076e624caf8fae2f222043c0385213e44f04a588c1d8a3824ee1aed8b18632962c7051b8558eb98ded6a439441cb5c426127805f00b44aa48733312d138e689d0dd2ebce9339dbab31451f416e406e48287b11d5409c0c282c1a12a0b9994d7b4562929197dbb74c735dcd5483d86d70889240cbe302bc3b8a940d281339e01d2d06f68937f19e0f5c4fcf239be00dd2ca54ee3128ae060b11201126399dbce571ddf3ec31e1c2d27326988751bd0b8d9e3b8a2a29bdcdc04a6e8eca6ff8a0ada404d5dcc01ef8d6921fe91d5a3a83b242dc2bc57d28104917da1a6d64ba838375ed4a87fbf501843dfa9dc76fc5e18748657c902f36fcca551a5273f3aef29f0de677407387d9f22eda0dc60b5c99454124df9f986aaefb6e9dbee7680222d9f319edba3928849500e3e26c508b286caf03f9d5055b0f11fd12482ac7f18e381a7263fa35ca9c092d57c37131521e1543a349909c1ee5a070cf035c973e12d1a7cff6bd8e4344009aa771da6afc76aac203dc0720ab2f301c306eacdce2e29ea6c72dba56dc4140abe942750dbfabb7b2787128fdadd654d26395ccf239a059cfc8fd069a283e5805f3efea38c8828c1d380e721649425c5bfa65ed0d7f652786026c37c8e37b4090a18359323ffacd1245f9b52fcc987dc15650cf0df70d3ffdf2e62bf210796b9a5400f03ad4274a68aa1ec8bd77e0c366b97ea8ad41a35b7cb8fb40bd6912dbc6ddc69ff5012a61b04f328d0e87b2a446736bb4e741ed77cc84c8bf869e0ba03318011bb0431c78faca5bc3f735866f962a0c731d8506568ce34864f6005660b314b3f927ea3be140014bc7287a2ad66db911f108625bbfb1ddab4dcfdf520ebe40742c2dabc162d1aaade72cae65043d0ba69416178fff2835a694473ba0d397ac35341df37fe73eb24d79e685b35bf3e1bc0f79c29b27afa52c54601f0aa54852ee34f0b150275a5cc72f0f2ab7c10aa4b0ea031f55cb4b9212e03df58d1128ebbd3ffa493d0fe03d486ce0ecf03dcadff1e0bd0abf82dcf8b5b45670671cd2a328cefe05131e1e9c36a9a9ab7c27491d3d46ee484de0411fc558979056a110891efadace26fbaac31ad3b1b9437fafe9b0ccb6e60076275b2f5a80fbfaf5fe5751e05622876e9237a43868b7e6ce39b3584ae8277751cd3ee887c3b07863bb55527eccfe9e253529437cdbdb7433ebb86fb586a5c4dc6502a45bc59363cbc632c4514ccd8b261ae722ef96069e4c32603f99787c725dbd533dff2557754c59a415ba7c72c0d0a4d09c14315cc7214aac3864b0aa4cfc3799ff583c0620d01e6158fb950d33f45e9672a7eb391487a4e8a9fe3df3ab576d116bf526207d3612dfae1d2c239260c6c3fb6de8d8b57f77ce045aae34dec32aa5a33c76f4c72c6e258daebb278a4b9373fadfaa1703549d1326cd850a5ce74c0d98dca19d772d5941d828e6525c1393238cb17c3e68984a51533e3bc94626203732f71b06091f6508d52c12d407ae46fe162d9f9c4cf200dd288827bd63812d714949fa568b30ad1619582c32050aa34dc42544c7cb8505436063ad60755ce9559fe1a6fdad9c8e4cc1ccbdb669a706e1a3822890d8648b1d258bd63cfdb1379cdeb897bfb4cc6c0c391ff91da54ce541b54eaecb195e436b1199038923d7522acf5873d31d0acb93de14d51df4a876fe027b74e515d1e99b6c3877b1ad9e0a160b61bcb405bbd70c7197840d9c639bbe34cc1612b0af73f7c468402a5e12bccabbd6bb18a2e3d6523cc2e01a3024f857026da32995fa3f237a0bde0b405dba8f308843de328599821fe84121e6269e23ffe351d721bbf2e5217197c1a038807182e42d4735356fe027cadc2c61a7e61d9c53ca4f83f97dabd22663a5a95651e63d53accca3996e258f03cfbdb9f120a0a4e4047b39c64fd900a7d0c9d76eac23626bacb98cff6deeedfec8fcb1165c95d03bc67c7b05d9fa0f7813cffc896fa91eedf1eef4f2cc6745d67c1a45fa3ec91cdbf2de41ce0ba9f87b24214676196ee325d90b800660ce8cb97de675523eba93e07f227376468c7925d62cab7b17ec8226811d4328a9f5967f8191dc662ebec00f760d6c7a76f2034e611e7005765296d14224dc33a83d4a811a2cf51023cde368fb2bcd6dccdeade64ddaa45678a46a600452238e1a3a4931685d629d6b325ce9603108618bc2d25a586f95ce09d07bd0bf2e1d4381e230ffddbd5274e8992e26674b7107eb89d751bcb5bf6e177703a131110fe1fcc6be16da7dcbcbc29ed040f954dfe1fcbae00f2e48a6318494cc1ac90e6b1ca98c1d8fd910eea158aa62197c19e196b70360d76335493d584423677b0cc355244c6dddf4fcae57643d861c3b9a04bbeec1b7cdaee83f75d0e9c40141233faf6b27a13bb3fb61ceb4ba23dd1459a2a4f08ca6650b5f74736b779a4f99172fa0fa045faf5e41540b41eab4110d40260b7d0acd493a645a5fb8c4e43908b18c23097eba56fa9889f98c65db212af2efc5b69218d7a33e99957a20e895599eca0e179b7026143fb7593c91115c0870046d29b21175a63057d383ec1a8c6f075df7e8435708b64f895af9b1abf51924792f3e7ae39ea2c4075c59e110c6985f4dbe2b4c38708887c6778c1a14a3a7acb6c994ce3fc727bd0fd24b2246a9548d659c4e3c64c2b09527d929f5a301781c0466a3325ad937f7b18680c510dbec9c656f6168ce43db13ae8cdfcaf41e5fc5901124676b2ce501c53aefa45b52b4dee840710ed779e3a955e2bedd087dc9ea6e4350a539977ef6a37bbed89dd86ee2a121ecec4cde6a1751bff436a7a2e3a9bed89bdd22d39715ee8cf629c720524168cd1776f49825c3ac72bcf31ca912360bb93351ad7f6e63ff8903546d471dcced11baa01f58e0d125e58509965e1637ae444c216e39a32fcffc1af72d146d5a231217699f12ceb1117ed1e7b4d71c2696536f978e57c88c86abb64010fbfd7541a5d9941257a5d8ebeff3733f90610e757787d2b8871d26769f3b0025dd6d00dbb6b20f928e2976014b73168216b504607a23fea367b0a76035ec4bd774a72bc13ca31f3209be6850</script></div><script src="/lib/blog-encrypt.js"></script><link href="/css/blog-encrypt.css" rel="stylesheet" type="text/css"></article><div class="post-copyright"><div class="post-copyright__author"><span class="post-copyright-meta">文章作者: </span><span class="post-copyright-info"><a href="mailto:undefined">Kylin</a></span></div><div class="post-copyright__type"><span class="post-copyright-meta">文章链接: </span><span class="post-copyright-info"><a href="https://www.codekylin.cn/24679.html">https://www.codekylin.cn/24679.html</a></span></div><div class="post-copyright__notice"><span class="post-copyright-meta">版权声明: </span><span class="post-copyright-info">本博客所有文章除特别声明外，均采用 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank">CC BY-NC-SA 4.0</a> 许可协议。转载请注明来自 <a href="https://www.codekylin.cn" target="_blank">Kylin</a>！</span></div></div><div class="tag_share"><div class="post-meta__tag-list"><a class="post-meta__tags" href="/tags/offer/">offer</a></div><div class="post_share"><div class="social-share" data-image="https://qiniu.codekylin.cn/github/img/img/wallhaven-4do8mo.jpg" data-sites="facebook,twitter,wechat,weibo,qq"></div><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/social-share.js/dist/css/share.min.css" media="print" onload="this.media='all'"><script src="https://cdn.jsdelivr.net/npm/social-share.js/dist/js/social-share.min.js" defer></script></div></div><div class="post-reward"><div class="reward-button button--animated"><i class="fas fa-qrcode"></i> 打赏</div><div class="reward-main"><ul class="reward-all"><li class="reward-item"><a href="https://qiniu.codekylin.cn/img/20200807181442.jpg" target="_blank"><img class="post-qr-code-img" data-lazy-src="https://qiniu.codekylin.cn/img/20200807181442.jpg" alt="微信"/></a><div class="post-qr-code-desc">微信</div></li><li class="reward-item"><a href="https://qiniu.codekylin.cn/img/20200807181505.jpg" target="_blank"><img class="post-qr-code-img" data-lazy-src="https://qiniu.codekylin.cn/img/20200807181505.jpg" alt="支付寶"/></a><div class="post-qr-code-desc">支付寶</div></li></ul></div></div><nav class="pagination-post" id="pagination"><div class="prev-post pull-left"><a href="/45553.html"><img class="prev-cover" data-lazy-src="https://qiniu.codekylin.cn/github/img/img/wallhaven-2e1g7x.png" onerror="onerror=null;src='/img/404.jpg'" alt="cover of previous post"><div class="pagination-info"><div class="label">上一篇</div><div class="prev_info">ArrayList源码扩容机制分析</div></div></a></div><div class="next-post pull-right"><a href="/64796.html"><img class="next-cover" data-lazy-src="https://qiniu.codekylin.cn/github/images/20200601091329.jpg" onerror="onerror=null;src='/img/404.jpg'" alt="cover of next post"><div class="pagination-info"><div class="label">下一篇</div><div class="next_info">JVM方法区</div></div></a></div></nav><div class="relatedPosts"><div class="headline"><i class="fas fa-thumbs-up fa-fw"></i><span> 相关推荐</span></div><div class="relatedPosts-list"><div><a href="/49809.html" title="Java网络编程概述"><img class="cover" data-lazy-src="https://qiniu.codekylin.cn/img/20200418115059.jpg" alt="cover"><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2020-10-31</div><div class="title">Java网络编程概述</div></div></a></div><div><a href="/46498.html" title="快乐的Linux命令行"><img class="cover" data-lazy-src="https://qiniu.codekylin.cn/github/img/img/wallhaven-eorjzk.png" alt="cover"><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2020-11-19</div><div class="title">快乐的Linux命令行</div></div></a></div></div></div><hr/><div id="post-comment"><div class="comment-head"><div class="comment-headline"><i class="fas fa-comments fa-fw"></i><span> 评论</span></div></div><div class="comment-wrap"><div><div class="vcomment" id="vcomment"></div></div></div></div></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="card-info-avatar is-center"><img class="avatar-img" data-lazy-src="https://qiniu.codekylin.cn/img/20200807181526.jpg" onerror="this.onerror=null;this.src='https://qiniu.codekylin.cn/github/img/friend_404.gif'" alt="avatar"/><div class="author-info__name">Kylin</div><div class="author-info__description">学习不易，努力努力~</div></div><div class="card-info-data"><div class="card-info-data-item is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">362</div></a></div><div class="card-info-data-item is-center"><a href="/tags/"><div class="headline">标签</div><div class="length-num">427</div></a></div><div class="card-info-data-item is-center"><a href="/categories/"><div class="headline">分类</div><div class="length-num">101</div></a></div></div><a class="button--animated" id="card-info-btn"><i class="fas fa-bookmark"></i><span>加入书签</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/kylincw" target="_blank" title="Github"><i class="iconfont icon-github"></i></a><a class="social-icon" href="tencent://message/?Menu=yes&amp;uin=171346168&amp;Service=300&amp;sigT=45a1e5847943b64c6ff3990f8a9e644d2b31356cb0b4ac6b24663a3c8dd0f8aa12a595b1714f9d45" target="_blank" title="qq"><i class="iconfont icon-qq"></i></a><a class="social-icon" href="https://space.bilibili.com/53836035" target="_blank" title="BiliBili"><i class="iconfont icon-bilibili-line"></i></a><a class="social-icon" href="mailto:zhang171346168@qq.com" target="_blank" title="Email"><i class="iconfont icon-email1"></i></a><a class="social-icon" href="/atom.xml" target="_blank" title="RSS"><i class="iconfont icon-rss"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn card-announcement-animation"></i><span>公告</span></div><div class="announcement_content">学习不易，努力努力！</div></div><div class="sticky_layout"><div class="card-widget" id="card-toc"><div class="item-headline"><i class="fas fa-stream"></i><span>目录</span></div><div class="toc-content toc-div-class" style="display:none"><ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E9%87%8D%E8%BD%BD%E5%92%8C%E9%87%8D%E5%86%99"><span class="toc-number">1.</span> <span class="toc-text">重载和重写</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E4%B8%89%E5%A4%A7%E7%89%B9%E6%80%A7"><span class="toc-number">2.</span> <span class="toc-text">三大特性</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%B0%81%E8%A3%85"><span class="toc-number">2.1.</span> <span class="toc-text">封装</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E7%BB%A7%E6%89%BF"><span class="toc-number">2.2.</span> <span class="toc-text">继承</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%A4%9A%E6%80%81"><span class="toc-number">2.3.</span> <span class="toc-text">多态</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#String-StringBuffer-StringBuilder"><span class="toc-number">3.</span> <span class="toc-text">String StringBuffer StringBuilder</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%8F%AF%E5%8F%98%E6%80%A7"><span class="toc-number">3.1.</span> <span class="toc-text">可变性</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E7%BA%BF%E7%A8%8B%E5%AE%89%E5%85%A8%E6%80%A7"><span class="toc-number">3.2.</span> <span class="toc-text">线程安全性</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%80%A7%E8%83%BD"><span class="toc-number">3.3.</span> <span class="toc-text">性能</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E4%BD%BF%E7%94%A8%E6%80%BB%E7%BB%93"><span class="toc-number">3.4.</span> <span class="toc-text">使用总结</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E8%87%AA%E5%8A%A8%E6%8B%86%E7%AE%B1%E8%A3%85%E7%AE%B1"><span class="toc-number">4.</span> <span class="toc-text">自动拆箱装箱</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%9E%84%E9%80%A0%E6%96%B9%E6%B3%95"><span class="toc-number">5.</span> <span class="toc-text">构造方法</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%88%90%E5%91%98%E5%8F%98%E9%87%8F%E4%B8%8E%E5%B1%80%E9%83%A8%E5%8F%98%E9%87%8F"><span class="toc-number">6.</span> <span class="toc-text">成员变量与局部变量</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E4%B8%8Eequals"><span class="toc-number">7.</span> <span class="toc-text">&#x3D;&#x3D; 与equals</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#equals-%E5%92%8C-hashCode"><span class="toc-number">8.</span> <span class="toc-text">equals 和 hashCode</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E4%B8%BA%E4%BB%80%E4%B9%88-Java-%E4%B8%AD%E5%8F%AA%E6%9C%89%E5%80%BC%E4%BC%A0%E9%80%92"><span class="toc-number">9.</span> <span class="toc-text">为什么 Java 中只有值传递?</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%BA%BF%E7%A8%8B%E3%80%81%E7%A8%8B%E5%BA%8F%E3%80%81%E8%BF%9B%E7%A8%8B"><span class="toc-number">10.</span> <span class="toc-text">线程、程序、进程</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%BA%BF%E7%A8%8B%E7%8A%B6%E6%80%81"><span class="toc-number">11.</span> <span class="toc-text">线程状态</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#final-%E5%85%B3%E9%94%AE%E5%AD%97"><span class="toc-number">12.</span> <span class="toc-text">final 关键字</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%BC%82%E5%B8%B8%E5%A4%84%E7%90%86"><span class="toc-number">13.</span> <span class="toc-text">异常处理</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#transient-%E5%85%B3%E9%94%AE%E5%AD%97"><span class="toc-number">14.</span> <span class="toc-text">transient 关键字</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E9%94%AE%E7%9B%98%E8%BE%93%E5%85%A5"><span class="toc-number">15.</span> <span class="toc-text">键盘输入</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Java%E5%B8%B8%E8%A7%81%E5%85%B3%E9%94%AE%E5%AD%97%E6%80%BB%E7%BB%93"><span class="toc-number">16.</span> <span class="toc-text">Java常见关键字总结</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%B7%B1%E6%8B%B7%E2%BB%89-vs-%E6%B5%85%E6%8B%B7%E2%BB%89"><span class="toc-number">17.</span> <span class="toc-text">深拷⻉ vs 浅拷⻉</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Java%E9%95%BF%E5%BA%A6%E8%8E%B7%E5%8F%96"><span class="toc-number">18.</span> <span class="toc-text">Java长度获取</span></a></li></ol></div></div><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/56352.html" title="be动词"><img data-lazy-src="https://qiniu.codekylin.cn/github/img/img/博客封面10.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="be动词"/></a><div class="content"><a class="title" href="/56352.html" title="be动词">be动词</a><time datetime="2022-07-12T11:47:29.800Z" title="更新于 2022-07-12 19:47:29">2022-07-12</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/36436.html" title="JVM堆内存"><img data-lazy-src="https://qiniu.codekylin.cn/img/20200418115059.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="JVM堆内存"/></a><div class="content"><a class="title" href="/36436.html" title="JVM堆内存">JVM堆内存</a><time datetime="2022-07-12T11:47:29.800Z" title="更新于 2022-07-12 19:47:29">2022-07-12</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/44292.html" title="Java多线程详解"><img data-lazy-src="https://qiniu.codekylin.cn/github/img/img/wallhaven-eorjzk.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Java多线程详解"/></a><div class="content"><a class="title" href="/44292.html" title="Java多线程详解">Java多线程详解</a><time datetime="2022-07-12T11:47:29.800Z" title="更新于 2022-07-12 19:47:29">2022-07-12</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/40200.html" title="谷粒商城记录"><img data-lazy-src="https://qiniu.codekylin.cn/github/img/img/wallhaven-6qvvrx.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="谷粒商城记录"/></a><div class="content"><a class="title" href="/40200.html" title="谷粒商城记录">谷粒商城记录</a><time datetime="2022-07-12T11:47:29.800Z" title="更新于 2022-07-12 19:47:29">2022-07-12</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/27082.html" title="Spring学习-3"><img data-lazy-src="https://qiniu.codekylin.cn/github/img/img/wallhaven-4x28xo.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Spring学习-3"/></a><div class="content"><a class="title" href="/27082.html" title="Spring学习-3">Spring学习-3</a><time datetime="2022-07-12T11:47:29.799Z" title="更新于 2022-07-12 19:47:29">2022-07-12</time></div></div></div></div></div></div></main><footer id="footer" style="background-image: url('https://qiniu.codekylin.cn/github/img/img/wallhaven-4do8mo.jpg')"><div id="footer-wrap"><div class="copyright">&copy;2019 - 2022 By Kylin</div><div class="framework-info"><span>框架 </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>主题 </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div><div class="footer_custom_text"><a target="_blank" rel="noopener" href="https://beian.miit.gov.cn/"><img class="icp-icon" src="https://img.alicdn.com/tfs/TB1..50QpXXXXX7XpXXXXXXXXXX-40-40.png"><span>湘ICP备2022005420号-1</span></a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="readmode" type="button" title="阅读模式"><i class="fas fa-book-open"></i></button><button id="font-plus" type="button" title="放大字体"><i class="fas fa-plus"></i></button><button id="font-minus" type="button" title="缩小字体"><i class="fas fa-minus"></i></button><button id="translateLink" type="button" title="简繁转换">繁</button><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button class="close" id="mobile-toc-button" type="button" title="目录"><i class="fas fa-list-ul"></i></button><a id="to_comment" href="#post-comment" title="直达评论"><i class="fas fa-comments"></i></a><button id="go-up" type="button" title="回到顶部"><i class="fas fa-arrow-up"></i></button></div></div><div id="local-search"><div class="search-dialog"><div class="search-dialog__title" id="local-search-title">本地搜索</div><div id="local-input-panel"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="搜索文章" type="text"/></div></div></div><hr/><div id="local-search-results"></div><span class="search-close-button"><i class="fas fa-times"></i></span></div><div id="search-mask"></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="/js/tw_cn.js"></script><script src="https://cdn.jsdelivr.net/npm/instant.page/instantpage.min.js" type="module"></script><script src="https://cdn.jsdelivr.net/npm/vanilla-lazyload/dist/lazyload.iife.min.js"></script><script src="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.js"></script><script src="/js/search/local-search.js"></script><div class="js-pjax"><script>function loadValine () {
  function initValine () {
    const valine = new Valine(Object.assign({
      el: '#vcomment',
      appId: 'ClIyIUhj1ue2rcRTsApYCR50-gzGzoHsz',
      appKey: 'ATug9IScYQBHILhKWEqBHYxM',
      placeholder: '昵称填入QQ号能获取到QQ头像哦~请输入正确的邮箱地址，你将会快速收到我的回复并且通过邮件通知你！~',
      avatar: 'robohash',
      meta: 'nick,mail,link'.split(','),
      pageSize: '10',
      lang: 'zh-cn',
      recordIP: false,
      serverURLs: 'https://cliyiuhj.lc-cn-n1-shared.com',
      emojiCDN: '',
      emojiMaps: "",
      enableQQ: true,
      path: window.location.pathname,
      requiredFields: ["nick,mail"],
      visitor: false
    }, null))
  }

  if (typeof Valine === 'function') initValine() 
  else getScript('https://cdn.jsdelivr.net/npm/valine/dist/Valine.min.js').then(initValine)
}

if ('Valine' === 'Valine' || !true) {
  if (true) btf.loadComment(document.getElementById('vcomment'),loadValine)
  else setTimeout(loadValine, 0)
} else {
  function loadOtherComment () {
    loadValine()
  }
}</script></div><script defer="defer" id="ribbon" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/canvas-ribbon.min.js" size="150" alpha="0.6" zIndex="-1" mobile="false" data-click="true"></script><script defer="defer" id="fluttering_ribbon" mobile="false" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/canvas-fluttering-ribbon.min.js"></script></div></body></html>